commit 9989811082d7f07a62bb5120fed85d97859dfe3d
parent 62c5adc4597764b0ded55939083a06717b38293e
Author: Davide P. Cervone <dpvc@union.edu>
Date: Mon, 7 Mar 2011 21:13:56 -0500
Merge branch 'new-docs'
Diffstat:
212 files changed, 12350 insertions(+), 7838 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+docs/build/html-mathjax-site
diff --git a/COPYING.txt b/LICENSE
diff --git a/README.md b/README.md
@@ -0,0 +1,48 @@
+# MathJax
+
+## Beautiful math in all browsers
+
+MathJax is an open-source JavaScript display engine for LaTeX and MathML that
+works in all modern browsers. It was designed with the goal of consolidating
+the recent advances in web technologies into a single, definitive,
+math-on-the-web platform supporting the major browsers and operating systems. It
+requires no setup on the part of the user (no plugins to download or software to
+install), so the page author can write web documents that include mathematics
+and be confident that users will be able to view it naturally and easily. Simply
+include MathJax and some mathematics in a web page, and MathJax does the rest.
+
+Some of the main features of MathJax include:
+
+- High-quality display of LaTeX and MathML math notation in HTML pages
+- Supported in most browsers with no plug-ins, extra fonts, or special setup for
+ the reader
+- Easy for authors, flexible for publishers, extensible for developers
+- Supports math accessibility, cut and paste interoperability and other advanced
+ functionality
+- Powerful API for integration with other web applications
+
+See <http://www.mathjax.org/> for additional details.
+
+## Installation and Usage
+
+The MathJax installation and usage documentation is available in the
+`docs/build/html` directory of the MathJax distribution (see
+`docs/build/html/index.html` for the starting point). The documents are also
+available on the MathJax web site on line at
+
+> <http://www.mathjax.org/docs/>
+
+
+## Community
+
+The main MathJax website is <http://www.mathjax.org>, and it includes
+announcements and other important information. MathJax is maintained and
+distributed on GitHub at <http://github.com/mathjax/MathJax>. A user forum for
+asking questions and getting assistance is hosted at Google, and the bug tracker
+is hosted at GitHub:
+
+Bug tracker: <https://github.com/mathjax/MathJax/issues>
+MathJax-Users Group: <http://groups.google.com/group/mathjax-users>
+
+Before reporting a bug, please check that it has not already been reported.
+Also, please use the bug tracker for reporting bugs rather than the help forum.
diff --git a/README.txt b/README.txt
@@ -1,54 +0,0 @@
-OVERVIEW:
-
-MathJax is an open-source JavaScript display engine for LaTeX and
-MathML that works in all modern browsers. It was designed with the
-goal of consolidating the recent advances in web technologies into a
-single, definitive, math-on-the-web platform supporting the major
-browsers and operating systems. It requires no setup on the part of
-the user (no plugins to download or software to install), so the page
-author can write web documents that include mathematics and be
-confident that users will be able to view it naturally and easily.
-One simply includes MathJax and some mathematics in a web page, and
-MathJax does the rest.
-
-Some of the main features of MathJax include:
-
- o High-quality display of LaTeX and MathML math notation in HTML pages
-
- o Supported in most browsers with no plug-ins, extra fonts, or special
- setup for the reader
-
- o Easy for authors, flexible for publishers, extensible for developers
-
- o Supports math accessibility, cut and paste interoperability and other
- advanced functionality
-
- o Powerful API for integration with other web applications
-
-See http://www.mathjax.org/ for additional details.
-
-
-INSTALLATION AND USAGE:
-
-The MathJax installation and usage documentation is available on the
-docs/html directory of the MathJax distribution (see
-docs/html/index.html for the starting point). The documents are also
-available on the MathJax web site on line at
-
- http://www.mathjax.org/docs/
-
-
-COMMUNITY:
-
-The main MathJax website is www.mathjax.org, and it includes announcements
-and other important information. MathJax also has a SourceForge site at
-http://sourceforge.net/projects/mathjax/ that includes the download site
-for the MathJax distribution. A user forum for asking questions and getting
-assistance is hosted at Google, and the bug tracker is hosted at GitHub:
-
- Bug tracker: https://github.com/mathjax/MathJax/issues
- MathJax-Users Group: http://groups.google.com/group/mathjax-users
-
-Before reporting a bug, please check that it has not already been reported.
-Also, please use the bug tracker for reporting bugs rather than the help
-forum.
diff --git a/docs/.gitignore b/docs/.gitignore
@@ -0,0 +1,10 @@
+.doctrees
+html-mathjax-site
+dirhtml
+singlehtml
+epub
+latex
+text
+man
+html/objects.inv
+html/.buildinfo
diff --git a/docs/Makefile b/docs/Makefile
@@ -0,0 +1,137 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = .
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/.doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+# @echo " pickle to make pickle files"
+# @echo " json to make JSON files"
+# @echo " htmlhelp to make HTML files and a HTML help project"
+# @echo " qthelp to make HTML files and a qthelp project"
+# @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+ @echo "or"
+ @echo " html-mathjax-site to make the documentation for www.mathjax.org"
+
+clean:
+ -rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+html-mathjax-site:
+ $(SPHINXBUILD) -b html -A for_site=True $(ALLSPHINXOPTS) $(BUILDDIR)/html-mathjax-site
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html-mathjax-site."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/UCBerkeleyAstronomy10Spring2011.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/UCBerkeleyAstronomy10Spring2011.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/UCBerkeleyAstronomy10Spring2011"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/UCBerkeleyAstronomy10Spring2011"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ make -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
diff --git a/docs/html/.gitignore b/docs/html/.gitignore
@@ -1,2 +0,0 @@
-.buildinfo
-.doctrees
diff --git a/docs/html/CSS-styles.html b/docs/html/CSS-styles.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="Glossary" href="glossary.html" />
<link rel="prev" title="Describing HTML snippets" href="HTML-snippets.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -128,11 +130,6 @@ samples. In particular, the <tt class="docutils literal"><span class="pre">exte
<h4>Next topic</h4>
<p class="topless"><a href="glossary.html"
title="next chapter">Glossary</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/CSS-styles.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -166,8 +163,9 @@ samples. In particular, the <tt class="docutils literal"><span class="pre">exte
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/HTML-snippets.html b/docs/html/HTML-snippets.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="CSS Style Objects" href="CSS-styles.html" />
- <link rel="prev" title="Converting to MathJax from jsMath" href="jsMath.html" />
+ <link rel="prev" title="The MathJax Object-Oriented Programming Model" href="api/object.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -36,7 +38,7 @@
<a href="CSS-styles.html" title="CSS Style Objects"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="jsMath.html" title="Converting to MathJax from jsMath"
+ <a href="api/object.html" title="The MathJax Object-Oriented Programming Model"
accesskey="P">previous</a> |</li>
<li><a href="index.html">MathJax v1.1 documentation</a> »</li>
</ul>
@@ -120,16 +122,11 @@ This is bold text shown in red
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
- <p class="topless"><a href="jsMath.html"
- title="previous chapter">Converting to MathJax from jsMath</a></p>
+ <p class="topless"><a href="api/object.html"
+ title="previous chapter">The MathJax Object-Oriented Programming Model</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="CSS-styles.html"
title="next chapter">CSS Style Objects</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/HTML-snippets.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -157,14 +154,15 @@ This is bold text shown in red
<a href="CSS-styles.html" title="CSS Style Objects"
>next</a> |</li>
<li class="right" >
- <a href="jsMath.html" title="Converting to MathJax from jsMath"
+ <a href="api/object.html" title="The MathJax Object-Oriented Programming Model"
>previous</a> |</li>
<li><a href="index.html">MathJax v1.1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/_images/badge.gif b/docs/html/_images/badge.gif
Binary files differ.
diff --git a/docs/html/_sources/api/ajax.txt b/docs/html/_sources/api/ajax.txt
@@ -35,7 +35,7 @@ Properties
Number of milliseconds to wait for a file to load before
it is considered to have failed to load.
- *Default:* 20 seconds
+ *Default:* 15 seconds
.. describe:: STATUS.OK
@@ -60,6 +60,12 @@ Properties
callbacks that are to be run when they load or timeout, and
additional internal data.
+.. describe:: loadHooks
+
+ An object containing the load hooks for the various files, set up by
+ the :meth:`loadHook()` method, or by the
+ :meth:`MathJax.Hub.Register.LoadHook()` method.
+
Methods
=======
@@ -106,9 +112,9 @@ Methods
file has been completely loaded and initialized. The `file`
parameter is the name of the file that has been loaded. This
routine will cause any callback functions registered for the file
- or included in the :meth:``MathJax.Ajax.Require()`` calls to be
+ or included in the :meth:`MathJax.Ajax.Require()` calls to be
executed, passing them the status or the load
- (`MathJax.Ajax.STATUS.OK`` or ``MathJax.Ajax.STATUS.ERROR``) as
+ (``MathJax.Ajax.STATUS.OK`` or ``MathJax.Ajax.STATUS.ERROR``) as
their last parameter.
:Parameters:
@@ -148,6 +154,18 @@ Methods
- **callback** --- the callback specification
:Returns: the callback object
+.. method:: Preloading(file1[,file2...])
+
+ Used withing combined configuration files to indicate what files are
+ in the configuration file. Marks the files are loading (since there
+ will never be an explicit :meth:`Load()` or :meth:`Require()` call for
+ then), so that load-hooks and other load-related events can be
+ properly processed.
+
+ :Parameters:
+ - **file1, file2, ...** --- the names of the files in the combined file
+ :Returns: ``null``
+
.. method:: Styles(styles[,callback])
Creates a stylesheet from the given style data. `styles` can
diff --git a/docs/html/_sources/api/elementjax.txt b/docs/html/_sources/api/elementjax.txt
@@ -24,7 +24,7 @@ that class.
Class Properties
================
-.. describe:: name
+.. describe:: id
The name of the jax.
@@ -42,11 +42,13 @@ Instance Properties
.. describe:: inputJax
- A reference to the input jax that created the element.
+ A reference to the input jax that created the element. (In the
+ future, this will be changed to the name of the input jax.)
.. describe:: outputJax
- A reference to the output jax that has processed this element.
+ A reference to the output jax that has processed this element. (In
+ the future, this will be changed to the name of the output jax.)
.. describe:: inputID
@@ -61,7 +63,8 @@ Instance Properties
.. describe:: originalText
A string indicating the original input text that was processed for
- this element.
+ this element. (In the future, this may be managed by the input jax
+ rather than ``MathJax.Hub``.)
.. describe:: mimeType
diff --git a/docs/html/_sources/api/html.txt b/docs/html/_sources/api/html.txt
@@ -81,6 +81,17 @@ Methods
- **text** --- the text for the new node
:Returns: the new text node
+.. method:: setText(script,text)
+
+ Sets the contents of the ``script`` element to be the given
+ ``text``, properly taking into account the browser limitations and
+ bugs.
+
+ :Parameters:
+ - **script** --- the script whose content is to be set
+ - **text** --- the text that is to be the script's new content
+ :Returns: ``null``
+
.. describe:: Cookie.Set(name,data)
Creates a MathJax cookie using the ``MathJax.HTML.Cookie.prefix``
@@ -91,7 +102,7 @@ Methods
MathJax.HTML.Cookie.Set("test",{x:42, y:"It Works!"});
- will create a cookie named "mjx:test" that stores the values of
+ will create a cookie named "mjx.test" that stores the values of
``x`` and ``y`` provided in the `data` object. This data can be
retrieved using the :meth:`MathJax.HTML.Cookie.Get()` method
discussed below.
diff --git a/docs/html/_sources/api/hub.txt b/docs/html/_sources/api/hub.txt
@@ -28,7 +28,7 @@ Properties
options and their default values are given in the :ref:`Core
Options <configure-hub>` reference page.
-.. describe:: processUpdateTime: 500
+.. describe:: processUpdateTime: 250
The minimum time (in milliseconds) between updates of the
"Processing Math" message.
@@ -38,6 +38,11 @@ Properties
The hub processing signal (tied to the
:meth:`MathJax.Hub.Register.MessageHook()` method).
+.. describe:: queue
+
+ MathJax's main processing queue. Use :meth:`MathJax.Hub.Queue()` to push
+ callbacks onto this queue.
+
.. describe:: Browser
The name of the browser as determined by MathJax. It will be one
@@ -106,6 +111,15 @@ Methods
- **options** --- object containing options to be set
:Returns: ``null``
+.. describe:: Configured()
+
+ When ``delayStartupUntil`` is specified in the configuration file or
+ in the script that loads ``MathJax.js``, MathJax's startup sequence is
+ delayed until this routine is called. See :ref:`Configuring MathJax
+ <configuration>` for details on how this is used.
+
+ :Returns: ``null``
+
.. describe:: Register.PreProcessor(callback)
Used by preprocessors to register themselves with MathJax so that
diff --git a/docs/html/_sources/api/inputjax.txt b/docs/html/_sources/api/inputjax.txt
@@ -35,7 +35,7 @@ that class.
Properties
==========
-.. describe:: name
+.. describe:: id
The name of the jax.
@@ -47,6 +47,11 @@ Properties
The directory where the jax files are stored (e.g., ``"[MathJax]/jax/input/TeX"``);
+.. describe:: elementJax
+
+ The name of the ElementJax class that this input jax will produce
+ (typically ``mml``, as that is the only ElementJax at the moment).
+
Methods
=======
@@ -54,15 +59,12 @@ Methods
.. Method:: Translate(script)
:noindex:
- This is the main routine called by MathJax when a ``<script>`` of
- the appropriate type is found. The default :meth:`Translate()`
- method simply loads the ``jax.js`` file and returns that callback
- for that load function so that MathJax will know when to try
- the :meth:`Translate()` action again. When the ``jax.js`` file
- loads, it should override the default :meth:`Translate()` with its
- own version that does the actual translation; that way, when the
- second Translate call is made, it will be to the actual
- translation routine rather than the default loader.
+ This is the main routine called by MathJax when a ``<script>`` of the
+ appropriate type is found. The default :meth:`Translate()` method
+ throws an error indicating that :meth:`Translate()` hasn't been
+ redefined, so when the ``jax.js`` file loads, it should override the
+ default :meth:`Translate()` with its own version that does the actual
+ translation.
The translation process should include the creation of an
:ref:`Element Jax <api-element-jax>` that stores the data needed
@@ -84,3 +86,4 @@ Methods
:Parameters:
- **mimetype** --- the MIME-type of the input this jax processes
:Returns: ``null``
+
diff --git a/docs/html/_sources/api/jax.txt b/docs/html/_sources/api/jax.txt
@@ -15,7 +15,7 @@ Unlike most MathJax.Object classes, calling the class object creates a
.. code-block:: javascript
MathJax.InputJax.MyInputJax = MathJax.InputJax({
- name: "MyInputJax",
+ id: "MyInputJax",
version: "1.0",
...
});
@@ -40,7 +40,7 @@ Class Properties
Instance Properties
===================
-.. describe:: name
+.. describe:: id
The name of the jax.
@@ -67,35 +67,41 @@ Instance Properties
Methods
=======
-.. Method:: Translate(script)
+.. Method:: Process(script)
+ :noindex:
- This is the method that the ``MathJax.Hub`` calls when it needs
- the input or output jax to process the given math ``<script>``
- call. Its default action is to start loading the jax's ``jax.js``
- file, and redefine the :meth:`Translate()` method to be the
- :meth:`noTranslate()` method below. The ``jax.js`` file should
- redefine the :meth:`Translate()` method to perform the translation
- operation for the specific jax. For an input jax, it should
- return the `ElementJax` object that it created.
+ This is the method that the ``MathJax.Hub`` calls when it needs the
+ input or output jax to process the given math ``<script>``. Its
+ default action is to start loading the jax's ``jax.js`` file, and
+ redefine itself to simplu return the callback for the laod operation
+ (so that further calls to it will cause the processing to wait for the
+ callback). Once the ``jax.js`` file has loaded, this method is
+ replaced by the jax's :meth:`Translate()` method, so that subsequent calls
+ to :meth:`Process()` will perform the appropriate translation.
:Parameters:
- **script** --- reference to the DOM ``<script>`` object for
the mathematics to be translated
:Returns: an `ElementJax` object, or ``null``
-.. Method:: noTranslate(script)
+.. Method:: Translate(script)
- This is a temporary routine that is used while the ``jax.js`` file
- is loading. It throws an error indicating the the
- :meth:`Translate()` method hasn't been redefined. That way, if
- the ``jax.js`` file failes to load for some reason, you will
- receive an error trying to process mathematics with this input
- jax.
+ This is a stub for a routine that should be defined by the jax's
+ ``jax.js`` file when it is loaded. It should perform the translation
+ action for the specific jax. For an input jax, it should return the
+ `ElementJax` object that it created. The :meth:`Translate()` mehtod is
+ never called directly by MathJax; during the :meth:`loadComplete()`
+ call, this funciton is copied to the :meth:`Process()` method, and is
+ called via that name. The default :meth:`Translate()` method throws an
+ error indicating that the :meth:`Translate()` meth was not been
+ redefined. That way, if the ``jax.js`` file fails to load for some
+ reason, you will receive an error trying to process mathematics with
+ this jax.
:Parameters:
- **script** --- reference to the DOM ``<script>`` object for
the mathematics to be translated
- :Returns: ``null``
+ :Returns: an `ElementJax` object, or ``null``
.. Method:: Register(mimetype)
@@ -136,13 +142,16 @@ Methods
1. Post the "[name] Jax Config" message to the startup signal.
2. Perform the jax's :meth:`Config()` method.
3. Post the "[name] Jax Require" message to the startup signal.
- 4. Load the files from the jax's ``require`` array (which may
- have been modified during the configuration process).
+ 4. Load the files from the jax's ``require`` and
+ ``config.extensions`` arrays.
5. Post the "[name] Jax Startup" message to the startup signal.
6. Perform the jax's :meth:`Startup()` method.
7. Post the "[name] Jax Ready" message to the startup signal.
8. perform the :meth:`MathJax.Ajax.loadComplete()` call for the
``jax.js`` file.
-
+ Note that the configuration process (the :meth:`Config()` call) can
+ modify the ``require`` or ``config.extensions`` arrays to add more
+ files that need to be loaded, and that the :meth:`Startup()` method
+ isn't called until those files are completely loaded.
diff --git a/docs/html/_sources/api/message.txt b/docs/html/_sources/api/message.txt
@@ -66,7 +66,7 @@ Methods
- **message** --- the text to display in the message area
- **n** --- the message id number
- **delay** --- amout of time to display the message
- :Returns: the message id nuber for this message.
+ :Returns: the message id number for this message.
.. method:: Clear(n[,delay])
@@ -78,9 +78,42 @@ Methods
- **delay** --- the delay before removing the message
:Returns: ``null``
+.. method:: Remove()
+
+ This removes the message frame from the window (it will reappear when
+ future messages are set, however).
+
+ :Returns: ``null``
+
+.. method:: File(file)
+
+ This sets the message area to a "Loading *file*" message, where *file*
+ is the name of the file (with ``[MathJax]`` representing the root
+ directory).
+
+ :Parameters:
+ - **file** --- the name of the file being loaded.
+ :Returns: the message id number for the message created.
+
+.. method:: filterText(text,n)
+
+ This method is called on each message before it is displayed. It can
+ be used to modify (e.g., shorten) the various messages before they are
+ displayed. The default action is to check of the ``messageStyle``
+ configuration parameter is ``simple``, and if so, convert loading and
+ processing messages to a simpler form. This method can be overridden
+ to perform other sanitization of the message strings.
+
+ :Parameters:
+ - **text** --- the text of the message to be posted
+ - **n** --- the id number of the message to be posted
+ :Returns: the modified message text
+
.. method:: Log()
Returns a string of all the messages issued so far, separated by
newlines. This is used in debugging MathJax operations.
:Returns: string of all messages so far
+
+
diff --git a/docs/html/_sources/api/outputjax.txt b/docs/html/_sources/api/outputjax.txt
@@ -36,7 +36,7 @@ that class.
Properties
==========
-.. describe:: name
+.. describe:: id
The name of the jax.
@@ -57,16 +57,13 @@ Methods
This is the main routine called by MathJax when an element jax is
to be converted to output. The default :meth:`Translate()`
- method simply loads the ``jax.js`` file and returns that callback
- for that load function so that MathJax will know when to try
- the :meth:`Translate()` action again. When the ``jax.js`` file
- loads, it should override the default :meth:`Translate()` with its
- own version that does the actual translation; that way, when the
- second Translate call is made, it will be to the actual
- translation routine rather than the default loader.
+ method throws an error indicating that :meth:`Translate()` hasn't been
+ redefined, so when the ``jax.js`` file loads, it should override the
+ default :meth:`Translate()` with its own version that does the actual
+ translation.
You should use ``MathJax.Hub.getJaxFor(script)`` to obtain the
- element jax for the given script. The translation process may add
+ element jax for the given script. The translation process may
modify the element jax (e.g., if it has data that needs to be
stored with the jax), and may insert DOM elements into the
document near the jax's ``<script>`` tag.
diff --git a/docs/html/_sources/community.txt b/docs/html/_sources/community.txt
@@ -40,12 +40,12 @@ Issue tracking
==============
Found a bug or want to suggest an improvement? Post it to our `issue tracker
-<http://github.com/mathjax/mathjax/issues>`_. We monitor the tracker closely,
+<http://github.com/mathjax/MathJax/issues>`_. We monitor the tracker closely,
and work hard to respond to problems quickly.
Before you create a new issue, however, please search the issues to see if it
has already been reported. You could also be using an outdated version of
-MathJax, so be sure to :ref:`upgrade your copy <getting-mathjax-svn>` to verify
+MathJax, so be sure to :ref:`upgrade your copy <getting-mathjax-git>` to verify
that the problem persists in the lastest version.
diff --git a/docs/html/_sources/config-files.txt b/docs/html/_sources/config-files.txt
@@ -0,0 +1,192 @@
+.. _common-configurations:
+
+*********************
+Common Configurations
+*********************
+
+MathJax comes with a number of pre-defined configuration files in the
+``MathJax/config`` directory. The ``default.js`` file contains nearly all
+the possible configuration options together with comments explaining them,
+so you can use that file to customize MathJax to your needs. Simply load
+it via
+
+.. code-block:: html
+
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js?config=default"></script>
+
+where ``path-to-MathJax`` is the URL to the MathJax directory on your
+server or hard disk.
+
+The remaining files are combined configuration files that include not just
+configuration parameters but also the files that MathJax would need to
+load for those configurations. This means MathJax will have to load fewer
+files, and since each file access requires establishing connections over
+the network, it can be better to load one larger file than several smaller
+ones. See :ref:`Loading and Configuring MathJax <loading>` for more
+details about how to load configurations, and how to modify the parameters
+for a configuration file.
+
+The following sections describe the contents of the combined configuration
+files. Each comes in two flavors: a standard version and a "full" version.
+The standard version simply defines the output processor(s) that are part
+of the configuration, but doesn't load the code that implements the output
+processor; the full version loads the complete output processors, so
+everything that MathJax needs for the page should be loaded up front, and
+there will be no delay once the page is ready to be processed. To obtain
+the "full" version, add ``-full`` to the end of the configuration file
+name.
+
+
+The ``TeX-AMS-MML_HTMLorMML`` configuration file
+================================================
+
+This configuration file is the most general of the pre-defined
+configurations. It loads all the important MathJax components, including
+the TeX and MathML preprocessors and input processors, the AMSmath,
+AMSsymbols, noErrors, and noUndefined TeX extensions, both the native
+MathML and HTML-with-CSS output processor definitions, and the MathMenu and
+MathZoom extensions. It is equivalent to the following configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ config: ["MMLorHTML.js"],
+ jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"],
+ extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
+ TeX: {
+ extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
+ }
+ });
+
+In addition, it loads the mml Element Jax, the TeX and MathML input jax
+main code (not just the definition files), as well as the `toMathML`
+extension, which is used by the Show Source option in the MathJax
+contextual menu. The full version also loads both the HTML-CSS and
+NativeMML output jax main code, plus the HTML-CSS `mtable` extension, which
+is normally loaded on demand.
+
+See the :ref:`tex2jax configuration <configure-tex2jax>` section for
+other configuration options for the ``tex2jax`` preprocessor, and the
+:ref:`TeX input jax configuration <configure-TeX>` section for options
+that control the TeX input processor.
+See the :ref:`mml2jax configuration <configure-mml2jax>` section for
+other configuration options for the ``mml2jax`` preprocessor, and the
+:ref:`MathML input jax configuration <configure-MathML>` section for
+options that control the MathML input processor.
+See :ref:`MathJax Output Formats <output-formats>` for more
+information on the NativeMML and HTML-CSS output processors. See the
+:ref:`MMLorHTML configuration <configure-MMLorHTML>` section for
+details on the options that control the ``MMLorHTML`` configuration.
+
+
+The ``TeX-AMS_HTML`` configuration file
+================================================
+
+This configuration file is for sites that only use TeX format for their
+mathematics, and that want the output to be as close to TeX output as
+possible. This uses the HTML-CSS output jax (even when the user's browser
+understands MathML). The user can still use the MathJax contextual menu
+to select the NativeMML output jax if they desire.
+
+This file includes all the important MathJax components for TeX input and
+output, including the `tex2jax` preprocessor and TeX input jax, the
+AMSmath, AMSsymbols, noErrors, and noUndefined TeX extensions, the
+HTML-with-CSS output processor definition, and the MathMenu and MathZoom
+extensions. It is equivalent to the following configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js","MathMenu.js","MathZoom.js"],
+ TeX: {
+ extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
+ }
+ });
+
+In addition, it loads the mml Element Jax and the TeX input jax main code
+(not just the definition file), as well as the `toMathML` extension, which
+is used by the Show Source option in the MathJax contextual menu. The full
+version also loads the HTML-CSS output jax main code, plus the HTML-CSS
+`mtable` extension, which is normally loaded on demand.
+
+See the :ref:`tex2jax configuration <configure-tex2jax>` section for
+other configuration options for the ``tex2jax`` preprocessor, and the
+:ref:`TeX input jax configuration <configure-TeX>` section for options
+that control the TeX input processor.
+See :ref:`MathJax Output Formats <output-formats>` for more
+information on the HTML-CSS output processor.
+
+
+The ``MML_HTMLorMML`` configuration file
+================================================
+
+This configuration file is for sites that only use MathML format for their
+mathematics. It will use MathML output in browsers where that is
+supported, and HTML-CSS output otherwise. The user can still use the
+MathJax contextual menu to select the other output format if they desire.
+
+This file includes all the important MathJax components for MathML input
+and output, including the `mml2jax` preprocessor and MathML input jax, the
+NativeMML and HTML-CSS output processor definition files, and the MathMenu
+and MathZoom extensions. It is equivalent to the following configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ config: ["MMLorHTML.js"],
+ jax: ["input/MathML","output/HTML-CSS","output/NativeMML"],
+ extensions: ["mml2jax.js","MathMenu.js","MathZoom.js"]
+ });
+
+In addition, it loads the mml Element Jax and the MathML input jax main
+code (not just the definition file), as well as the `toMathML` extension,
+which is used by the Show Source option in the MathJax contextual menu.
+The full version also loads both the HTML-CSS and NativeMML output jax main
+code files, plus the HTML-CSS `mtable` extension, which is normally loaded
+on demand.
+
+See the :ref:`mml2jax configuration <configure-mml2jax>` section for
+other configuration options for the ``mml2jax`` preprocessor, and the
+:ref:`MathML input jax configuration <configure-MathML>` section for
+options that control the MathML input processor.
+See :ref:`MathJax Output Formats <output-formats>` for more
+information on the NativeMML and HTML-CSS output processors. See the
+:ref:`MMLorHTML configuration <configure-MMLorHTML>` section for
+details on the options that control the ``MMLorHTML`` configuration.
+
+
+The ``Accessible`` configuration file
+================================================
+
+This configuration file is essentially the same as
+``TeX-AMS-MML_HTMLorMML`` except that it includes configuration that is
+designed for assitive technology, particularly for those with visual
+challenges. It is equivalent to the following configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ config: ["MMLorHTML.js"],
+ jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"],
+ extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
+ TeX: {
+ extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
+ },
+ NativeMML: { showMathMenuMSIE: false },
+ menuSettings: { zoom: "Double-Click" },
+ errorSettings: { message: ["[Math Error]"] }
+ });
+
+This turns off the MathJax contextual Message for Internet Explorer, since
+it can interfere with some screen readers. It also sets the zoom trigger
+to double-click, so that readers can see a larger version of the
+mathematics but double-clicking on any equation.
+
+In addition, it loads the mml Element Jax, the TeX and MathML input jax
+main code (not just the definition files), as well as the `toMathML`
+extension, which is used by the Show Source option in the MathJax
+contextual menu. The full version also loads both the HTML-CSS and
+NativeMML output jax main code, plus the HTML-CSS `mtable` extension, which
+is normally loaded on demand.
+
diff --git a/docs/html/_sources/configuration.txt b/docs/html/_sources/configuration.txt
@@ -6,18 +6,28 @@ Loading and Configuring MathJax
You load MathJax into a web page by including its main JavaScript file
into the page. That is done via a ``<script>`` tag that links to the
-``MathJax.js`` file. Place the following line in the ``<head>``
+``MathJax.js`` file. To do that, place the following line in the ``<head>``
section of your document:
.. code-block:: html
<script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
-where ``path-to-MathJax`` is replaced by the URL of the MathJax
-directory on your server, or (if you are using MathJax locally rather
-than through a server) the location of that directory on your hard
-disk. For example, if the MathJax directory is at the top level of
-your web server's directory hierarchy, you might use
+where ``path-to-MathJax`` is replaced by the URL of the copy of MathJax
+that you are loading. For example, if you are using the MathJax
+distributed network service, the tag might be
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js">
+ </script>
+
+If you have installed MathJax yourself, ``path-to-MathJax`` will be the
+location of MathJax on your server, or (if you are using MathJax locally
+rather than through a server) the location of that directory on your hard
+disk. For example, if the MathJax directory is at the top level of your
+web server's directory hierarchy, you might use
.. code-block:: html
@@ -25,15 +35,29 @@ your web server's directory hierarchy, you might use
to load MathJax.
-Although it is possible to load MathJax from a site other than your
-own web server, there are issues involved in doing so that you need to
-take into consideration. See the :ref:`Notes About Shared Servers
-<cross-domain-linking>` for more details. Please do **not** link to
-the copy of MathJax at ``www.mathjax.org``, as we do not have the
-resources to act as a web service for all the sites on the web that
-would like to display mathematics. If you are able to run MathJax
-from your own server, please do so (this will probably give you better
-response time in any case).
+If you install MathJax on a server in a domain that is different from the
+one containing the page that will load MathJax, then there are issues
+involved in doing so that you need to take into consideration. See the
+:ref:`Notes About Shared Servers <cross-domain-linking>` for more details.
+
+When you load MathJax, it is common to include additional parameters for
+MathJax as part of the URL. These control MathJax's configuration, and are
+discussed in the :ref:`Configuration Objects <configuration>` section. A
+typical invocation of MathJax would be
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+
+which loads MathJax with a configuration file that includes everything you
+need in order to enter mathematics in either TeX, LaTeX, or MathML
+notation, and produces output using MathML if the browser supports that,
+or HTML-with-CSS otherwise. If you **don't** load an explicit
+configuration file, you will need to include an in-line configuration
+block in order to tell MathJax how to read and display the mathematics on
+your pages. See the section below for details.
It is best to load MathJax in the document's ``<head>`` block, but it
is also possible to load MathJax into the ``<body>`` section, if
@@ -51,325 +75,344 @@ been prepared, for example, via a `GreaseMonkey
advanced topic, however; see :ref:`Loading MathJax Dynamically
<ajax-mathjax>` for more details.
+.. _loading-CDN:
-Configuring MathJax
-===================
+Loading MathJax from the CDN
+============================
-There are several ways to configure MathJax, but the easiest is to use
-the ``config/MathJax.js`` file that comes with MathJax. See the
-comments in that file, or the :ref:`configuration details
-<configuration>` section, for explanations of the meanings of the various
-configuration options. You can edit the ``config/MathJax.js`` file to
-change any of the settings that you want to customize. When you
-include MathJax in your page via
+MathJax is now available as a web service from ``cdn.mathjax.org``, so you
+can obtain MathJax from there without needing to install it on your own
+server. The CDN is part of a distributed "cloud" network, so it is
+handled by servers around the world. That means that you should get acces
+to a server geographically near you, for a fast, reliable connection.
-.. code-block:: html
+The CDN hosts the most current version of MathJax, as well as older
+versions, so you can either link to a version that stays up-to-date as
+Mathjax is improved, or you can stay with one of the release versions so
+that you pages always use the same version of MathJax.
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
+The URL that you use to obtain MathJax determines the version that you
+get. The CDN has the following directory structure:
-it will load ``config/MathJax.js`` automatically as one of its
-first actions.
+.. code-block:: sh
-Alternatively, you can configure MathJax efficiently by calling
-:meth:`MathJax.Hub.Config()` when you include MathJax in your page, as
-follows:
+ mathjax/ # project-name
+ 1.0-latest/
+ 1.1-beta/ # temporary
+ 1.1-latest/ # the 1.1 release with any ciritical patches
+ ...
+ latest/ # the most current version (1.1-latest in this case)
-.. code-block:: html
+Each directory corresponds to an official MathJax release; however,
+hotfixes (urgent bug fixes) will be applied in each release branch as
+necessary, even if new releases are not prepared. In other words,
+``1.1-latest`` will initially point to v1.1, but over time may be updated
+with patches that would correspond to releases that might be numbers 1.1a,
+1.1b, etc., even if such releases are not actually prepared for
+distribution (they likely won't be).
- <script type="text/javascript" src="path-to-MathJax/MathJax.js">
- MathJax.Hub.Config({
- extensions: ["tex2jax.js"],
- jax: ["input/TeX", "output/HTML-CSS"],
- tex2jax: {
- inlineMath: [ ['$','$'], ["\\(","\\)"] ],
- displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
- },
- "HTML-CSS": { availableFonts: ["TeX"] }
- });
- </script>
+We may occasionally introduce directories for betas, as indicated above,
+but they will be temprorary, and will be removed after the official
+release.
-This example includes the ``tex2jax`` preprocessor and configures it
-to use both the standard TeX and LaTeX math delimiters. It uses the
-TeX input processor and the HTML-CSS output processor, and forces the
-HTML-CSS processor to use the TeX fonts rather that other locally
-installed fonts (e.g., :term:`STIX` fonts). See the
-:ref:`configuration options <configuration>` section (or the comments
-in the ``config/MathJax.js`` file) for more information about the
-configuration options that you can include in the
-:meth:`MathJax.Hub.Config()` call. Note that if you configure MathJax
-using this in-line approach, the ``config/MathJax.js`` file is **not**
-loaded.
-
-Finally, if you would like to use several different configuration
-files (like ``config/MathJax.js``, but with different settings in each
-one), you can copy ``config/MathJax.js`` to ``config/MathJax-2.js``,
-or some other convenient name, and use
+To load from a particular release, use the directory for that release.
+For example,
.. code-block:: html
- <script type="text/javascript" src="path-to-MathJax/MathJax.js">
- MathJax.Hub.Config({ config: "MathJax-2.js" });
- </script>
-
-to load the alternative configuration file ``config/MathJax-2.js``
-from the MathJax ``config`` directory. In this way, you can have as
-many distinct configuration files as you need.
-
-
-.. _common-configurations:
-
-Common Configurations
-=====================
-
-The following examples show configurations that are useful for some
-common situations. This is certainly not an exhaustive list, and
-there are variations possible for any of them. Again, the comments in
-the ``config/MathJax.js`` file can help you decide what settings to
-include, even if you are using the in-line configuration method.
+ <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/1.1-latest/MathJax.js"></script>
-The TeX setup
--------------
+will load the stable v1.1 version, even if we release v1.2 or other later
+versions, while
-This example calls the ``tex2jax`` preprocessor to identify
-mathematics in the page by looking for TeX and LaTeX math delimiters.
-It uses ``$...$`` and ``\(...\)`` for in-line mathematics, while
-``$$...$$`` and ``\[...\]`` mark displayed equations. Because dollar
-signs are used to mark mathematics, if you want to produce an actual
-dollar sign in your document, you must "escape" it using a slash:
-``\$``. This configuration also loads the ``AMSmath`` and
-``AMSsymbols`` extensions so that the macros and environments they
-provide are defined for use on the page.
+.. code-block:: html
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- tex2jax: {
- inlineMath: [['$','$'],["\\(","\\)"]],
- processEscapes: true,
- },
- });
+ <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
-Other extensions that you may consider adding to the `extensions`
-array include: ``TeX/noErrors.js``, which shows the original TeX code
-if an error occurs while processing the mathematics (rather than an
-error message), ``TeX/noUndefined.js``, which shows undefined
-macros names in red (rather than producing an error), and
-``TeX/autobold.js``, which automatically inserts ``\boldsymbol{...}``
-around your mathematics when it appears in a section of your page that
-is in bold. Most of the other TeX extensions are loaded automatically
-when needed, and so do not need to be included explicitly in your
-`extensions` array.
+will always be the most current stable release, so it will go from v1.1 to
+v1.2 autmatically when that is released. Note that all the versions
+available on the CDN are stable versions; the development version is not
+hosted on the CDN.
-See the :ref:`tex2jax configuration <configure-tex2jax>` section for
-other configuration options for the ``tex2jax`` preprocessor, and the
-:ref:`TeX input jax configuration <configure-TeX>` section for options
-that control the TeX input processor.
+The use of ``cdn.mathjax.org`` is governed by its `terms of service
+<http://www.mathjax.org/download/mathjax-cdn-terms-of-service/>`_, so be
+sure to read that before linked to the MathJax CDN server.
-The MathML setup
-----------------
+Configuring MathJax
+===================
-This example calls the ``mml2jax`` preprocessor to identify
-mathematics in the page that is in :term:`MathML` format, which uses
-``<math display="block">`` to indicate displayed equations, and
-``<math display="inline">`` or simply ``<math>`` to mark in-line
-formulas.
+There are two ways to configure MathJax: via a configuration file, or by
+including configuration commands wthin the web page itself. These can be
+used independently, or in combination. For example, you can load a main
+pre-defined configuration file, but include in-line commands to
+adjust the configuration to your needs.
+
+Note that you must use at least one of these two forms of configuration.
+Unlike earlier versions of MathJax, version 1.1 does not load a default
+configuration file. If you have been using version 1.0's
+``config/MathJax.js`` for your configuration, you will need to load that
+configuration file explicitly via a ``config`` parameter, as described
+below.
+
+
+.. _config-files:
+
+Using a configuration file
+==========================
+
+The first way to configure MathJax is to use a configuration file.
+MathJax comes with a number of pre-defined configuration files, which are
+stored in the ``MathJax/config`` directory. Among these are the following
+
+.. describe:: default.js
+
+ A file that contains nearly all the configuration options with comments
+ describing them, which you can edit to suit your needs.
+
+.. describe:: TeX-AMS-MML_HTMLorMML.js
+
+ Allows math to be specified in TeX, LaTeX, or MathML notation, with the
+ `AMSmath` and `AMSsymbols` packages included, producing output using
+ MathML if the browser supports it, and HTML-with-CSS otherwise.
+
+.. describe:: TeX-AMS_HTML.js
+
+ Allows math to be specified in TeX or LaTeX notation (with the
+ `AMSmath` and `AMSsymbols` packages included, and produces output
+ using the HTML-CSS output processor.
+
+.. describe:: MML_HTMLorMML.js
+
+ Allows math to be specified using MathML notation, and produces MathML
+ output if the browser supports it, or HTML-CSS output otherwise.
+
+.. describe:: Accessible.js
+
+ Essentially the same as ``TeX-AMS-MML_HTMLorMML``, but with some
+ settings specified to make MathJax work better with assistive
+ technology (for the visually impaired). This includes setting the
+ zoom trigger to be a double-click, and removing the MathMenu in
+ Internet Explorer (which can interfere with some screen readers).
+
+The first of these is a file that you can edit to suit your needs. It
+contains nearly all the configuration options that MathJax allows, and has
+comments explaining them. The others are what are called `combined
+configuration files`, which not only configure MathJax, but also pre-load the
+various files that the configuration requires. (The contents of these
+files are explained in more detail in the `Common Configurations
+<common-configurations>`_ section.)
+
+Usually, MathJax loads its components only when they are needed, but each
+component will require a separate file to be loaded, and that can cause
+delays before the mathematics is displayed. The combined configuration
+files load the majority of the needed files all as one large file, reducing
+the number of network requests that are needed. That means you will
+probably be getting the componets that MathJax needs faster than you would
+without the combined file, but you may be loading components that are never
+actually used; that is the trade off.
+
+Each of the combined configuration files comes in two flavors: the ones
+listed above, which only configure the output processors but don't include
+the main code, and a "full" version, that also includes the complete
+output processors. For example, with ``TeX-AMS_HTML.js`` and
+``TeX-AMS_HTML-full.js``, the latter includes the complete HTML-CSS output
+processor. The "full" configuration files are substantially larger (on
+the order of 70KB), so you need to decide whether it is worth loading the
+full configuraiton for your pages.
+
+If most of your pages include mathematics, then it is to your advantage to
+load the full version, but if you are including MathJax in a theme file for
+a blog or wiki that only includes mathematics occasionally, then perhaps it
+is better to use the standard configuration instead, in which case the
+output processors are only loaded when they are actually needed, saving the
+loading of 70KB for pages that don't. Of course, if your server is
+configured to compress the files it sends, the difference between the two
+is considerably reduced. Furthermore, most browsers will cache the
+javascript they receive, so the download cost should only occur on the
+first page a user views, so it may be best to use the "full" version after
+all. Note, however, that mobile devices sometimes have limits on the size
+of files that they cache, so they may be forced to download the
+configuration on every page. You need to keep these issues in mind as you
+decide on which configuration to use.
+
+To load a configuration file, use ``config=filename`` (where ``filename``
+is one of the names above without the ``.js``) as a parameter to the URL of
+the ``MathJax.js`` file. For example
-.. code-block:: javascript
+.. code-block:: html
- MathJax.Hub.Config({
- extensions: ["mml2jax.js"],
- jax: ["input/MathML","output/HTML-CSS"]
- });
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
-Note that this will work in HTML files, not just XHTML files (MathJax
-works with both), and that the web page need not be served with any
-special MIME-type. Also note that, unless you are using XHTML rather
-than HTML, you should not include a namespace prefix for your
-``<math>`` tags; for example, you should not use ``<m:math>`` except
-in a file where you have tied the ``m`` namespace to the MathML DTD.
+loads the ``config/TeX-AMS-MML_HTMLorMML.js`` configuration file from the
+MathJax distributed network service.
-See the :ref:`mml2jax configuration <configure-mml2jax>` section for
-other configuration options for the ``mml2jax`` preprocessor, and the
-:ref:`MathML input jax configuration <configure-MathML>` section for
-options that control the MathML input processor.
+You can include more than one configuration file by separating them with
+commas. For example, if you have a locally defined configuration file
+called ``MathJax/config/local/local.js`` that modifies the settings for the
+``TeX-AMS_HML`` configuration, defines some new TeX macros, and so on, you
+can use
+.. code-block:: html
-Both TeX and MathML
--------------------
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,local/local.js">
+ </script>
-This example provides for both TeX and MathML input in the same file.
-It calls on both the ``tex2jax`` and ``mml2jax`` preprocessors and the
-TeX and MathML input jax to do the job.
+to first load the main configuraiton, then the local modifications.
-.. code-block:: javascript
- MathJax.Hub.Config({
- extensions: ["tex2jax.js", "mml2jax.js"],
- jax: ["input/TeX", "input/MathML", "output/HTML-CSS"],
- });
+Using in-line configuration options
+===================================
-Notice that no ``tex2jax`` configuration section is included, so it
-uses its default options (no single dollar signs for in-line math).
+The second way to configure MathJax is through `in-line configuration`,
+that puts the configuration options within the web page itself. This
+process has changed in version 1.1 to make it compatible with HTML5.
+Earlier versions of MathJax had in-line configuration included within the
+content of the ``<script>`` tag that loads ``MathJax.js``, but HTML5 makes
+it illegal to have content for a script with a ``src`` attribute.
-The majority of the code for the TeX and MathML input processors are
-not loaded until they are actually needed by the mathematics on the
-page, so if this configuration is used on a page that include only
-MathML, the TeX input processor will not be loaded. Thus it is
-reasonably efficient to specify both input processors even if only one
-(or neither one) is used.
+MathJax solves this problem by using separate ``<script>`` tags to perform
+configuration for MathJax. Because MathJax starts its configuration
+process as soon as it is loaded, the configuration script must come
+**before** the script tag that loads ``MathJax.js`` itself. You do this
+by including a ``<script>`` with ``type="text/x-mathjax-config"``, whose
+content will be run when MathJax performs its configuration. Generally,
+this script will include a :meth:`MathJax.Hub.Config()` call to perform
+MathJax configuration, but it can also include other MathJax commands,
+such as registering signal actions, or any JavaScript commands that you
+want. You can have as many such script tags as you want, and MathJax will
+process them in order as they appear in the document.
+For instance,
-TeX input with MathML output
-----------------------------
+.. code-block:: html
-This example configures MathJax to use the ``tex2jax`` preprocessor
-and TeX input processor, but the choice of output format is determined
-by MathJax depending on the capabilities of the user's browser. The
-is performed by the ``MMLorHTML.js`` configuration file that is loaded
-in the `config`` array.
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX", "output/HTML-CSS"],
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
+ processEscapes: true
+ },
+ "HTML-CSS": { availableFonts: ["TeX"] }
+ });
+ </script>
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js">
-.. code-block:: javascript
+This example includes the `tex2jax` preprocessor and configures it to use
+both the standard :term:`TeX` and :term:`LaTeX` math delimiters. It uses
+the `TeX` input processor and the `HTML-CSS` output processor, and forces the
+HTML-CSS processor to use the TeX fonts rather that other locally installed
+fonts (e.g., :term:`STIX` fonts). See the :ref:`configuration options
+<configuration>` section (or the comments in the ``config/default.js``
+file) for more information about the configuration options that you can
+include in the :meth:`MathJax.Hub.Config()` call. Note that this
+configuration does **not** load any pre-defined configuration file.
+
+Note that you can combine in-line configuration with file-based
+configuration, simply include ``text/x-mathjax-config`` scripts as above,
+but also include ``config=filename`` when you load the ``MathJax.js``
+file. For example, the `tex2jax` preprocessor does **not** the TeX
+single-dollar in-line math delimiters by default. You can load one of the
+pre-defined configuration files that include the TeX preprocessor, and use
+an in-line configuration block to enable the single-dollar signs:
- MathJax.Hub.Config({
- config: ["MMLorHTML.js"],
- extensions: ["tex2jax.js"],
- jax: ["input/TeX"]
- });
-
-With this setup, Firefox or Internet Explorer with the `MathPlayer
-plugin <http://www.dessci.com/en/products/mathplayer/>`_ installed
-will use the NativeMML output processor, while all other browsers will
-use the HTML-CSS output processor. Since native MathML support is
-faster than MathJax's HTML-CSS processor, this will mean that the web
-pages will display faster for Firefox and IE than they would
-otherwise. This speed comes at the cost, however, as you are now
-relying on the native MathML support to render the mathematics, and
-that is outside of MathJax's control. There may be spacing or other
-display differences (compared to MathJax's HTML-CSS output) when the
-NativeMML output processor is used.
-
-See :ref:`MathJax Output Formats <output-formats>` for more
-information on the NativeMML and HTML-CSS output processors. See the
-:ref:`MMLorHTML configuration <configure-MMLorHTML>` section for
-details on the options that control the ``MMLorHTML`` configuration.
-
-
-MathML input and output in all browsers
----------------------------------------
-
-This example configures MathJax to look for MathML within your page,
-and to display it using the browser's native MathML support, if
-possible, or its HTML-CSS output if not.
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- config: ["MMLorHTML.js"],
- extensions: ["mml2jax.js"],
- jax: ["input/MathML"]
- });
-
-Using this configuration, MathJax finally makes MathML available in
-all modern browsers.
-
-See the :ref:`MMLorHTML configuration <configure-MMLorHTML>` section
-for details on the options that control the ``MMLorHTML``
-configuration file, the :ref:`MathML configuration <configure-MathML>`
-section for the options that control the MathML output processor, and
-the :ref:`mml2jax configuration <configure-mml2jax>` section for the
-options that control the ``mml2jax`` preprocessor.
-
-
-.. _configuration:
-
-Configuration Objects
-=====================
-
-The various components of MathJax, including its input and output
-processors, its preprocessors, its extensions, and the MathJax core,
-all can be configured through the ``config/MathJax.js`` file, or via a
-:meth:`MathJax.Hub.Config()` call (indeed, if you look closely, you
-will see that ``config/MathJax.js`` is itself one big call to
-:meth:`MathJax.Hub.Config()`). Anything that is in
-``config/MathJax.js`` can be included in-line to configure MathJax.
-
-The structure that you pass to :meth:`MathJax.Hub.Config()` is a
-JavaScript object that includes name-value pairs giving the names of
-parameters and their values, with pairs separated by commas. Be
-careful not to include a comma after the last value, however, as some
-browsers (namely Internet Explorer) will fail to process the
-configuration if you do.
-
-The MathJax components, like the TeX input processor, have their own
-sections in the configuration object, labeled by the component name,
-and using an configuration object as its value. The object is itself
-a configuration object made up of name-value pairs that give the
-configuration options for the component.
+.. code-block:: html
-For example,
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+ </script>
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js?config=TeX-AMS_HTML">
+ </script>
-.. code-block:: javascript
- MathJax.Hub.Config({
- showProcessingMessages: false,
- jax: ["input/TeX", "output/HTML-CSS"],
- TeX: {
- TagSide: "left",
- Macros: {
- RR: '{\\bf R}',
- bold: ['{\\bf #1}',1]
- }
- }
- });
+.. _delayStartupUntil:
+
+Configuring MathJax after it is loaded
+======================================
+
+Because MathJax begins its configuration process immediately after it is
+loaded (so that it can start loading files as quickly as it can), the
+configuration blocks for MathJax must come before ``MathJax.js`` is loaded,
+so they will be available to MathJax when it starts up. There are
+situations, however, when you might want to put off configuring MathJax
+until later in the page.
+
+One such situation is when you have a site that loads MathJax as part of a
+theme or template, but want to be able to modify the configuration on
+specific pages of the site. To accomplish this, you need to ask MathJax
+to delay its startup configuration until some later time. MathJax uses
+the ``delayStartupUntil`` parameter to control the timing of the startup
+sequence. By default, it is set to ``none``, meaning there is no delay
+and MathJax starts configuration right away.
+
+You can set ``delayStartupUntil=onload`` in order to prevent MathJax from
+continuing its startup process until the page's onLoad handler fires. This
+allows MathJax to find the ``text/x-mathjax-config`` blocks that occur
+anywhere on the page, not just the ones that appear above the ``<script>``
+that loads ``MathJax.js``. It also means that MathJax will not begin
+loading any of the files that it needs until then as well, which may delay
+the displaying of your mathematics, since the onLoad handler doesn't
+execute until all the images and other media are available. (If you have
+used a combined configuration file, however, it already includes all the
+main files that MathJax needs, so there is not much loss in delaying the
+startup.)
+
+You can set ``delayStartupUntil=configured`` in order to delay the startup
+configuration until the :meth:`MathJax.Hub.Configured()` method is
+called. This allows you to delay startup until later on the page, but
+then restart MathJax configuration process as soon as possible rather than
+waiting for the entire page to load. For example, you could use
-is a configuration that includes two settings for the MathJax Hub (one
-for `showProcessingMessages` and one of the `jax` array), and a
-configuration object for the TeX input processor. The latter includes
-a setting for the TeX input processor's `TagSide` option (to set tags
-on the left rather than the right) and a setting for `Macros`, which
-defines new TeX macros (in this case, two macros, one called ``\RR``
-that produces a bold "R", and one called ``\bold`` that puts is
-argument in bold face).
+.. code-block:: html
-The ``config/MathJax.js`` file is another example that shows nearly
-all the configuration options for all of MathJax's components.
+ <script type="text/javascript"
+ src="path-to-MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML&delayStartupUntil=configured">
+ </script>
+in your theme's header file, and
-Configuration Options by Component
-==================================
+.. code-block:: html
-The individual options are explained in the following sections, which
-are categorized by the component they affect.
+ <script type="text/javascript">
+ MathJax.Hub.Configured()
+ </script>
-.. toctree::
- :maxdepth: 1
+in its footer, so that MathJax will delay setting up until the footer is
+reached, but will not have to wait until images and other files are
+laoded. If you have ``text/x-mathjax-config`` script tags within the main
+body of the document, MathJax will read and process those before
+continuing its startup. In this way you can use a default configuration
+that can be modified on a page-by-page basis.
- The core options <options/hub>
-.. toctree::
- :maxdepth: 1
+Details of the MathJax configuration process
+============================================
- The tex2jax preprocessor options <options/tex2jax>
- The mml2jax preprocessor options <options/mml2jax>
- The jsMath2jax preprocessor options <options/jsMath2jax>
+Since there are a number of different ways to configure MathJax, it is
+important to know how they interact. The configuration process is the
+following:
-.. toctree::
- :maxdepth: 1
+1. Process any configuration file explicitly specified as a script parameter.
+2. Process the in-line script body (deprecated), if present.
+3. If delayed startup is requested, wait for the indicated signal.
+4. Process ``text/x-mathjax-config`` config blocks.
+5. Process any config files queued in the configuration's `config` array
+ by earlier config code.
- The TeX input processor options <options/TeX>
- The MathML input processor options <options/MathML>
- The HTML-CSS output processor options <options/HTML-CSS>
- The NativeMML output processor options <options/NativeMML>
- The MMLorHTML configuration options <options/MMLorHTML>
-
-.. toctree::
- :maxdepth: 1
+Note that ``text/x-mathjax-config`` script blocks must either precede the
+``MathJax.js`` script element, or startup must be delayed. Otherwise, blocks
+that follow the ``MathJax.js`` script element may or may not be available
+when MathJax runs, and browser-dependent erratic behavior will result.
- The MathMenu options <options/MathMenu>
- The MathZoom options <options/MathZoom>
- The FontWarnings options <options/FontWarnings>
-
diff --git a/docs/html/_sources/dynamic.txt b/docs/html/_sources/dynamic.txt
@@ -20,9 +20,7 @@ handler yourself, to let it know that it is OK to typeset the
mathematics on the page. You accomplish this by calling the
:meth:`MathJax.Hub.Startup.onload()` method as part of your MathJax
startup script. To do this, you will need to give MathJax an in-line
-configuration, so you will not be able to use the
-``config/MathJax.js`` file (though you can add it to your in-line
-configuration's `config` array).
+configuration.
Here is an example of how to load and configure MathJax dynamically:
@@ -31,7 +29,7 @@ Here is an example of how to load and configure MathJax dynamically:
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
- script.src = "/MathJax/MathJax.js"; // use the location of your MathJax
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js";
var config = 'MathJax.Hub.Config({' +
'extensions: ["tex2jax.js"],' +
@@ -45,13 +43,12 @@ Here is an example of how to load and configure MathJax dynamically:
document.getElementsByTagName("head")[0].appendChild(script);
})();
-Be sure to set the ``src`` to the correct URL for your copy of
-MathJax. You can adjust the ``config`` variable to your needs, but be
-careful to get the commas right. The ``window.opera`` test is because
+You can adjust the ``config`` variable to your needs, but be careful to get
+the commas right. The ``window.opera`` test is because some versions of
Opera doesn't handle setting ``script.text`` properly, while Internet
Explorer doesn't handle setting the ``innerHTML`` of a script tag.
-Here is a version that uses the ``config/MathJax.js`` file to
+Here is a version that uses the ``config=filename`` method to
configure MathJax:
.. code-block:: javascript
@@ -59,10 +56,9 @@ configure MathJax:
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
- script.src = "/MathJax/MathJax.js"; // use the location of your MathJax
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
- var config = 'MathJax.Hub.Config({ config: "MathJax.js" }); ' +
- 'MathJax.Hub.Startup.onload();';
+ var config = 'MathJax.Hub.Startup.onload();';
if (window.opera) {script.innerHTML = config}
else {script.text = config}
@@ -71,13 +67,12 @@ configure MathJax:
})();
Note that the **only** reliable way to configure MathJax is to use an
-in-line configuration of the type discussed above. You should **not**
-call :meth:`MathJax.Hub.Config()` directly in your code, as it will
-not run at the correct time --- it will either run too soon, in which
-case ``MathJax`` may not be defined and the function will throw an
-error, or it will run too late, after MathJax has already finished its
-configuration process, so your changes will not have the desired
-effect.
+in-line configuration block of the type discussed above. You should
+**not** call :meth:`MathJax.Hub.Config()` directly in your code, as it will
+not run at the correct time --- it will either run too soon, in which case
+``MathJax`` may not be defined and the function will throw an error, or it
+will run too late, after MathJax has already finished its configuration
+process, so your changes will not have the desired effect.
MathJax and GreaseMonkey
@@ -97,8 +92,7 @@ Note, however, that most browsers don't allow you to insert a script
that loads a ``file://`` URL into a page that comes from the web (for
security reasons). That means that you can't have your GreaseMonkey
script load a local copy of MathJax, so you have to refer to a
-server-based copy. In the scripts below, you need to insert the URL
-of a copy of MathJax from your own server.
+server-based copy. The MathJax CDN works nicely for this.
----
@@ -122,18 +116,14 @@ IE+MathPlayer.
(document.getElementsByTagNameNS == null ? false :
(document.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math").length > 0))) {
var script = document.createElement("script");
- script.src = "http://www.yoursite.edu/MathJax/MathJax.js"; // put your URL here
- var config = 'MathJax.Hub.Config({' +
- 'extensions:["mml2jax.js"],' +
- 'jax:["input/MathML","output/HTML-CSS"]' +
- '});' +
- 'MathJax.Hub.Startup.onload()';
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+ var config = 'MathJax.Hub.Startup.onload()';
if (window.opera) {script.innerHTML = config} else {script.text = config}
document.getElementsByTagName("head")[0].appendChild(script);
}
}
-**Source**: `mathjax_mathml.user.js <_statis/mathjax_mathml.user.js>`_
+**Source**: `mathjax_mathml.user.js <_static/mathjax_mathml.user.js>`_
----
@@ -153,29 +143,25 @@ converting the math images to their original TeX code.
//
// Replace the images with MathJax scripts of type math/tex
//
- var images = document.getElementsByTagName('img');
+ var images = document.getElementsByTagName('img'), count = 0;
for (var i = images.length - 1; i >= 0; i--) {
var img = images[i];
if (img.className === "tex") {
var script = document.createElement("script"); script.type = "math/tex";
if (window.opera) {script.innerHTML = img.alt} else {script.text = img.alt}
- img.parentNode.replaceChild(script,img);
+ img.parentNode.replaceChild(script,img); count++;
}
}
- //
- // Load MathJax and have it process the page
- //
- var script = document.createElement("script");
- script.src = "http://www.yoursite.edu/MathJax/MathJax.js"; // put your URL here
- var config = 'MathJax.Hub.Config({' +
- 'config: ["MMLorHTML.js"],' +
- 'extensions:["TeX/noErrors.js","TeX/noUndefined.js",' +
- '"TeX/AMSmath.js","TeX/AMSsymbols.js"],' +
- 'jax:["input/TeX"]' +
- '});' +
- 'MathJax.Hub.Startup.onload()';
- if (window.opera) {script.innerHTML = config} else {script.text = config}
- document.getElementsByTagName("head")[0].appendChild(script);
+ if (count) {
+ //
+ // Load MathJax and have it process the page
+ //
+ var script = document.createElement("script");
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+ var config = 'MathJax.Hub.Startup.onload()';
+ if (window.opera) {script.innerHTML = config} else {script.text = config}
+ document.getElementsByTagName("head")[0].appendChild(script);
+ }
}
-**Source**: `mathjax_wikipedia.user.js <_statis/mathjax_wikipedia.user.js>`_
+**Source**: `mathjax_wikipedia.user.js <_static/mathjax_wikipedia.user.js>`_
diff --git a/docs/html/_sources/index.txt b/docs/html/_sources/index.txt
@@ -15,6 +15,8 @@ Basic Usage
Getting Started with MathJax <start>
Installing and Testing MathJax <installation>
Loading and Configuring MathJax <configuration>
+ Common MathJax Configurations <config-files>
+ MathJax Configuration Options <options/index>
Using MathJax in Web Platforms <platforms/index>
.. toctree::
@@ -30,6 +32,19 @@ Basic Usage
The MathJax Community <community>
+.. _upgrading-MathJax:
+
+Upgrading MathJax
+=================
+
+.. toctree::
+ :maxdepth: 1
+
+ What's New in MathJax v1.1 <whats-new>
+ Migrating from MathJax v1.0 to v1.1 <upgrade>
+ Converting to MathJax from jsMath <jsMath>
+
+
.. _advanced-topics:
Advanced Topics
@@ -49,10 +64,6 @@ Advanced Topics
Details of the MathJax API<api/index>
-.. toctree::
- :maxdepth: 1
-
- Converting to MathJax from jsMath <jsMath>
Reference Pages
===============
@@ -66,6 +77,12 @@ Reference Pages
* :ref:`Search <search>`
+* `User Help Pages <http://www.mathjax.org/help/user>`_:
+
+ + `MathJax Font Help <http://www.mathjax.org/help/fonts>`_
+ + `MathJax Contextual Menu <http://www.mathjax.org/help/menu>`_
+ + `MathJax Zoom Feature <http://www.mathjax.org/help/zoom>`_
+
--------
This version of the documentation was built |today|.
diff --git a/docs/html/_sources/installation.txt b/docs/html/_sources/installation.txt
@@ -4,6 +4,12 @@
Installing and Testing MathJax
******************************
+The easiest way to use MathJax is to link directly to the MathJax
+distributed network service (see :ref:`Using the MathJax CDN
+<mathjax-CDN>`). In that case, there is no need to install MathJax
+yourself, and you can begin using MathJax right away; skip this document on
+installation and go directly to :ref:`Configuring MathJax <loading>`.
+
MathJax can be loaded from a public web server or privately from your hard drive
or other local media. To use MathJax in either way, you will need to obtain a
copy of MathJax and its font package. There are three ways to do this: via
@@ -18,11 +24,11 @@ Obtaining MathJax via Git
The easiest way to get MathJax and keep it up to date is to use the `Git
<http://git-scm.com/>`_ version control system to access our `GitHub repository
-<http://github.com/mathjax/mathjax>`_. Use the commands
+<http://github.com/mathjax/mathjax>`_. Use the command
.. code-block:: sh
- git clone git://github.com/mathjax/MathJax.git mathjax
+ git clone git://github.com/mathjax/MathJax.git MathJax
to obtain and set up a copy of MathJax. Note that there is no longer
a ``fonts.zip`` file, and that the ``fonts`` directory is now part of
@@ -32,7 +38,7 @@ Whenever you want to update MathJax, you can now use
.. code-block:: sh
- cd mathjax
+ cd MathJax
git remote show origin
to check if there are updates to MathJax (this will print several
@@ -41,21 +47,22 @@ date or out of date). If MathJax needs updating, use
.. code-block:: sh
- cd mathjax
+ cd MathJax
git pull origin
to udpate your copy of MathJax to the current release version. If you
keep MathJax updated in this way, you will be sure that you have the
latest bug fixes and new features as they become available.
-This gets you the current development copy of MathJax, which is the
-"bleeding-edge" version that contains all the latest changes to
-MathJax. At times, however, these may be less stable than the
-"release" version. If you prefer to use the most stable version (that
-may not include all the latest patches and features), use ``git tag
--l`` to see all versions and use ``git checkout <tag_name>`` to
-checkout that version of MathJax. When you want to upgrade to a new
-release, you will need to repeat this for the latest release tag.
+This gets you the current development copy of MathJax, which is the version
+that contains all the latest changes to MathJax. Although we try to make
+sure this version is a stable and usable version of MathJax, it is under
+active development, and at times it may be less stable than the "release"
+version. If you prefer to use the most stable version (that may not
+include all the latest patches and features), use ``git tag -l`` to see all
+versions and use ``git checkout <tag_name>`` to checkout that version of
+MathJax. When you want to upgrade to a new release, you will need to
+repeat this for the latest release tag.
.. _getting-mathjax-svn:
@@ -66,11 +73,11 @@ Obtaining MathJax via SVN
If you are more comfortable with the `subversion
<http://subversion.apache.org/>`_ source control system, you may want
to use GitHub's ``svn`` service to obtain MathJax. If you want to get the
-latest revision using ``svn``, use the commands
+latest revision using ``svn``, use the command
.. code-block:: sh
- svn checkout http://svn.github.com/mathjax/MathJax.git mathjax
+ svn checkout http://svn.github.com/mathjax/MathJax.git MathJax
to obtain and set up a copy of MathJax. Note that there is no longer
a ``fonts.zip`` file, and that the ``fonts`` directory is now part of
@@ -80,7 +87,7 @@ Whenever you want to update MathJax, you can now use
.. code-block:: sh
- cd mathjax
+ cd MathJax
svn status -u
to check if there are updates to MathJax. If MathJax needs updating,
@@ -88,19 +95,20 @@ use
.. code-block:: sh
- cd mathjax
+ cd MathJax
svn update
to udpate your copy of MathJax to the current release version. If you
keep MathJax updated in this way, you will be sure that you have the
latest bug fixes and new features as they become available.
-This gets you the current development copy of MathJax, which is the
-"bleeding-edge" version that contains all the latest changes to
-MathJax. At times, however, these may be less stable than the
-"release" version. If you prefer to use one of the tagged releases
-instead, then either use ``git`` as described above, or one of the
-archive files as described below. You can use
+This gets you the current development copy of MathJax, which is the version
+that contains all the latest changes to MathJax. Although we try to make
+sure this version is a stable and usable version of MathJax, it is under
+active development, and at times it may be less stable than the "release"
+version. If you prefer to use one of the tagged releases instead, then
+either use ``git`` as described above, or one of the archive files as
+described below. You can use
.. code-block:: sh
@@ -134,10 +142,19 @@ let you refer to the main MathJax file as ``/MathJax/MathJax.js`` from
within any page on your server.
From the `MathJax GitHub download link
-<http://github.com/mathjax/mathjax/>`_ (the big download button at the
+<http://github.com/mathjax/mathjax/>`_ (the download button at the
right), you can also select the ``Download .tar.gz`` or ``Download
-.zip`` buttons to get a copy of the current "bleeding-edge" version of
-MathJax that contains all the latest changes and bug-fixes.
+.zip`` buttons to get a copy of the current development version of
+MathJax that contains all the latest changes and bug-fixes.
+
+If a packaged release recevies any important updates, then those updates
+will be part of the `branch` for that version. The link to the ``.zip``
+file in the download list will be the original release version, not the
+patched version. To obtain the patched version, use the `Branches` drop
+down menu (at the far left of the menus within the page) to select the the
+release branch, and then use the downlaod button and the ``Downlaod
+.tar.gz`` or ``Download .zip`` button to get the latest patched version of
+that release.
Testing your installation
@@ -156,8 +173,7 @@ properly. If you have installed MathJax on a server, use the web
address for those files rather than opening them locally. When you
view the ``index.html`` file, you should see (after a few moments) a
message that MathJax appears to be working. If not, you should check
-that the files have been transferred to the server completely, that
-the fonts archive has been unpacked in the correct location, and that
+that the files have been transferred to the server completely, and that
the permissions allow the server to access the files and folders that
are part of the MathJax directory (be sure to verify the MathJax
folder's permissions as well). Checking the server logs may help
@@ -177,29 +193,27 @@ a different site. For example, a departmental server at
installation at ``www.yourcollege.edu`` rather than installing a
separate copy on the departmental machine. MathJax can certainly
be loaded from another server, but there is one imporant caveat ---
-Firefox's same-origin security policy for cross-domain scripting.
-
-Firefox’s interpretation of the same-origin policy is more strict than
-most other browsers, and it affects how fonts are loaded with the
-`@font-face` CSS directive. MathJax uses this directive to load
-web-based math fonts into a page when the user doesn't have them
-installed locally on their own computer. Firefox's security policy,
-however, only allows this when the fonts come from the same server as
-the web page itself, so if you load MathJax (and hence its web fonts)
-from a different server, Firefox won't be able to access those web
-fonts. In this case, MathJax will pause while waiting for the font to
-download (which will never happen) and will time out after about 15
-seconds for each font it tries to access. Typically that is three or
-four fonts, so your Firefox users will experience a minute or so
-delay before mathematics is displayed, and then it will probably
-display incorrectly because the browser doesn't have access to the
-correct fonts.
+Firefox's and IE9's same-origin security policy for cross-domain scripting.
+
+Firefox's interpretation of the same-origin policy is more strict than most
+other browsers, and it affects how fonts are loaded with the `@font-face`
+CSS directive. MathJax uses this directive to load web-based math fonts
+into a page when the user doesn't have them installed locally on their own
+computer. Firefox's security policy, however, only allows this when the
+fonts come from the same server as the web page itself, so if you load
+MathJax (and hence its web fonts) from a different server, Firefox won't be
+able to access those web fonts. In this case, MathJax will pause while
+waiting for the font to download (which will never happen); it will time
+out after about 5 seconds and switch to image fonts as a fallback.
+Similarly, IE9 has a similar same-origin policy in its `IE9 standards
+mode`, so it exhibits this same behavior.
There is a solution to this, however, if you manage the server where
MathJax is installed, and if that server is running the `Apache web
server <http://www.apache.org/>`_. In the remote server's
``MathJax/fonts/HTML-CSS/TeX/otf`` folder, create a file called
-``.htaccess`` that contains the following lines: ::
+``.htaccess`` that contains the following lines:
+::
<FilesMatch "\.(ttf|otf|eot)$">
<IfModule mod_headers.c>
@@ -207,18 +221,17 @@ server <http://www.apache.org/>`_. In the remote server's
</IfModule>
</FilesMatch>
-and make sure the permissions allow the server to read this file.
-(The file's name starts with a period, which causes it to be an
-"invisible" file on unix-based operating systems. Some systems,
-particularly graphic user interfaces, may not allow you to create such
-files, so you might need to use the command-line interface to
-accomplish this.)
+and make sure the permissions allow the server to read this file. (The
+file's name starts with a period, which causes it to be an "invisible" file
+on unix-based operating systems. Some systems, particularly those with
+graphical user interfaces, may not allow you to create such files, so you
+might need to use the command-line interface to accomplish this.)
-This file should make it possible for pages at other sites to load
-MathJax from this server in such a way that Firefox will be able to
-download the web-based fonts. If you want to restrict the sites that
-can access the web fonts, change the ``Access-Control-Allow-Origin``
-line to something like::
+This file should make it possible for pages at other sites to load MathJax
+from this server in such a way that Firefox and IE9 will be able to
+download the web-based fonts. If you want to restrict the sites that can
+access the web fonts, change the ``Access-Control-Allow-Origin`` line to
+something like::
Header set Access-Control-Allow-Origin "http://www.math.yourcollege.edu"
@@ -231,7 +244,7 @@ for more details.
.. _ff-local-fonts:
-Forefox and Local Fonts
+Firefox and local fonts
=======================
Firefox's same-origin security policy affects its ability to load
@@ -252,3 +265,28 @@ containing the page that uses MathJax. This is an unfortunate
restriction, but it is a limitiation imposed by Firefox's security
model that MathJax can not circumvent. Currently, this is not a
problem for other browsers.
+
+One solution to this problem is to install the MathJax fonts locally, so
+that Firefox will not have to use web-based fonts in the first place. To
+do that, either install the `STIX fonts <http://stixfonts.org>`_, or copy
+the fonts from ``MathJax/fonts/HTML-CSS/TeX/otf`` into your systems fonts
+directory and restart your browser (see the `MathJax fonts help page
+<http://www.mathjax.org/help/fonts>`_ for details).
+
+
+IE9 and remote fonts
+====================
+
+IE9's same-origin policy affects its ability to load web-based fonts, as
+described above. This has implications not ony to cross-domain loading of
+MathJax, but also to the case where you view a local page (with a
+``file://`` URL) that accesses MathJax from a remote site, like the MathJax
+CDN service. In this case, IE9 does **not** honor the
+``Access-Control-Allow-Origin`` setting of the remote server (as it would
+if the web page came from an ``http://`` URL), and so it **never** allows the
+font to be accessed.
+
+One solution to this problem is to install the MathJax fonts locally so
+that MathJax doesn't have to use web-based fonts in the first place. Your
+best bet is to install the `STIX fonts`_ on your system (see the `MathJax
+fonts help page`_ for details).
diff --git a/docs/html/_sources/jsMath.txt b/docs/html/_sources/jsMath.txt
@@ -11,21 +11,39 @@ processing the mathematics within the webpage once it has been loaded
in the browser by a user viewing your web pages. If you are using
jsMath with its ``tex2math`` preprocessor, then switching to MathJax
should be easy, and is simply a matter of configuring MathJax
-appropriately. See the section on :ref:`Configuring MathJax
-<configuration>` for details about loading and configuring MathJax.
+appropriately. See the section on :ref:`Loading and Configuring MathJax
+<loading>` for details.
On the other hand, if you are using jsMath's ``<span
class="math">...</span>`` and ``<div class="math">...</div>`` tags to
mark the mathematics in your document, then you should use MathJax's
``jsMath2jax`` preprocessor when you switch to MathJax. To do this,
include ``"jsMath2jax.js"`` in the `extensions` array of your
-configuration, with the `jax` array set to include ``"input/TeX"``.
+configuration, with the `jax` array set to include ``"input/TeX"``. For
+example,
-.. code-block:: javascript
+.. code-block:: html
- extensions: ["jsMath2jax.js"],
- jax: ["input/TeX", ...]
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["jsMath2jax.js"]
+ });
+ </script>
+ <script
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
+ </script>
+
+would load the ``jsMath2jax`` preprocessor, along with a configuration
+file that processes TeX input and produces HTML-with-CSS output.
There are a few configuration options for ``jsMath2jax``, which you
-can find in the ``config/MathJax.js`` file, or in the :ref:`jsMath
+can find in the ``config/default.js`` file, or in the :ref:`jsMath
configuration options <configure-jsMath2jax>` section.
+
+If you are generating your jsMath documents programmatically, it would be
+better to convert from generating the jsMath ``<span>`` and ``<div>`` tags
+to producing the corresponding MathJax ``<script>`` tags. You would use
+``<script type="math/tex">`` in place of ``<span class="math">`` and
+``<script type="math/tex; mode=display">`` in place of ``<div
+class="math">``. See the section on :ref:`How mathematics is stored in the
+page <mathjax-script-tags>` for more details.
diff --git a/docs/html/_sources/mathml.txt b/docs/html/_sources/mathml.txt
@@ -5,7 +5,7 @@ MathJax MathML Support
**********************
The support for :term:`MathML` in MathJax consists of three parts: the
-`mml2jax` preprocessor, the MathML input processor, and the NativeMML
+`mml2jax` preprocessor, the `MathML` input processor, and the `NativeMML`
output processor. The first of these looks for ``<math>`` tags within
your document and marks them for later processing by MathJax. The
second converts the MathML to the internal format used by MathJax, and
@@ -34,9 +34,9 @@ any of the other setup issues that make using native MathML
difficult. MathJax handles the setup and properly marks the
mathematics so that the browser will render it as MathML. In
addition, MathJax provides its contextual menu for the MathML, which
-lets the user zoom the mathematics for easier reading, get the copy
+lets the user zoom the mathematics for easier reading, get and copy
the source markup, and so on, so there is added value to using MathJax
-even whith a pure MathML workflow.
+even with a pure MathML workflow.
MathML in HTML pages
diff --git a/docs/html/_sources/model.txt b/docs/html/_sources/model.txt
@@ -50,6 +50,8 @@ and it also avoids the conflict between the use of the less-than sign,
an HTML tag).
+.. _mathjax-script-tags:
+
How mathematics is stored in the page
=====================================
diff --git a/docs/html/_sources/options/HTML-CSS.txt b/docs/html/_sources/options/HTML-CSS.txt
@@ -30,6 +30,12 @@ would set the ``preferredFont`` option to the :term:`STIX` fonts.
factor. The user can also adjust this value using the contextual
menu item associated with the typeset mathematics.
+.. describe:: minScaleAdjust: 50
+
+ This gives a minimum scale (as a percent) for the scaling used my
+ MathJax to match the equation to the surrounding text. This will
+ prevent MathJax from making the mathematics too small.
+
.. describe:: availableFonts: ["STIX","TeX"]
This is a list of the fonts to look for on a user's computer in
diff --git a/docs/html/_sources/options/MathMenu.txt b/docs/html/_sources/options/MathMenu.txt
@@ -20,7 +20,7 @@ options, include a ``MathMenu`` section in your
would set the ``delay`` option to 600 milliseconds.
-.. describe:: delay: 400
+.. describe:: delay: 150
This is the hover delay for the display (in milliseconds) for
submenus in the contextual menu: when the mouse is over a submenu
diff --git a/docs/html/_sources/options/TeX.txt b/docs/html/_sources/options/TeX.txt
@@ -65,3 +65,17 @@ to be defined within the TeX input processor.
would ask the TeX processor to define two new macros: ``\RR``,
which produces a bold-face "R", and ``\bold{...}``, which takes one
parameter and set it in the bold-face font.
+
+.. describe:: MAXMACROS: 10000
+
+ Because a definition of the form ``\def\x{\x} \x`` would cause MathJax
+ to loop infinitely, the `MAXMACROS` constant will limit the nuber of
+ macro substitutions allowed in any expression processed by MathJax.
+
+.. describe:: MAXBUFFER: 5*1024
+
+ Because a definition of the form ``\def\x{\x aaa} \x`` would loop
+ infinitely, and at the same time stack up lots of a's in MathJax's
+ equation buffer, the `MAXBUFFER` constant is used to limit the size of
+ the string being processed by MathJax. It is set to 5KB, which should
+ be sufficient for any reasonable equation.
+\ No newline at end of file
diff --git a/docs/html/_sources/options/hub.txt b/docs/html/_sources/options/hub.txt
@@ -132,7 +132,11 @@ behavior of MathJax. They are given with their default values.
configuration, styles, jax, and so on) as soon as it can. If you
expect to be doing additional configuration on the page, however,
you may want to have it wait until the page's onload hander is
- called. If so, set this to ``"onload"``.
+ called. If so, set this to ``"onload"``. You can also set this to
+ ``"configured"``, in which case, MathJax will delay its startup until
+ you explicitly call :meth:`MathJax.Hub.Configured()`. See
+ :ref:`Configuring MathJax after it is loaded <delayStartupUntil>` for more
+ details.
.. describe:: skipStartupTypeset: false
@@ -207,3 +211,10 @@ behavior of MathJax. They are given with their default values.
on :ref:`CSS style objects <css-style-objects>` for details on
how these are specified in JavaScript.
+.. describe:: v1.0-compatible: true
+
+ This controls whether MathJax issues the warning about not having an
+ explicit configuration in the event that the `jax` array is empty
+ after configuration is complete. If you really intend that array to
+ be empty, set this flag to ``false``. Note that setting this to false
+ does **not** cause a default configuration file to be loaded.
+\ No newline at end of file
diff --git a/docs/html/_sources/options/index.txt b/docs/html/_sources/options/index.txt
@@ -0,0 +1,91 @@
+.. _configuration:
+
+*********************
+Configuration Objects
+*********************
+
+The various components of MathJax, including its input and output
+processors, its preprocessors, its extensions, and the MathJax core,
+all can be configured through the ``config/default.js`` file, or via a
+:meth:`MathJax.Hub.Config()` call (indeed, if you look closely, you
+will see that ``config/default.js`` is itself one big call to
+:meth:`MathJax.Hub.Config()`). Anything that is in
+``config/default.js`` can be included in-line to configure MathJax.
+
+The structure that you pass to :meth:`MathJax.Hub.Config()` is a
+JavaScript object that includes name-value pairs giving the names of
+parameters and their values, with pairs separated by commas. Be
+careful not to include a comma after the last value, however, as some
+browsers (namely Internet Explorer) will fail to process the
+configuration if you do.
+
+The MathJax components, like the TeX input processor, have their own
+sections in the configuration object, labeled by the component name,
+and using a configuration object as its value. The object is itself
+a configuration object made up of name-value pairs that give the
+configuration options for the component.
+
+For example,
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ showProcessingMessages: false,
+ jax: ["input/TeX", "output/HTML-CSS"],
+ TeX: {
+ TagSide: "left",
+ Macros: {
+ RR: '{\\bf R}',
+ bold: ['{\\bf #1}',1]
+ }
+ }
+ });
+
+is a configuration that includes two settings for the MathJax Hub (one
+for `showProcessingMessages` and one of the `jax` array), and a
+configuration object for the TeX input processor. The latter includes
+a setting for the TeX input processor's `TagSide` option (to set tags
+on the left rather than the right) and a setting for `Macros`, which
+defines new TeX macros (in this case, two macros, one called ``\RR``
+that produces a bold "R", and one called ``\bold`` that puts is
+argument in bold face).
+
+The ``config/MathJax.js`` file is another example that shows nearly
+all the configuration options for all of MathJax's components.
+
+
+Configuration Options by Component
+==================================
+
+The individual options are explained in the following sections, which
+are categorized by the component they affect.
+
+.. toctree::
+ :maxdepth: 1
+
+ The core options <hub>
+
+.. toctree::
+ :maxdepth: 1
+
+ The tex2jax preprocessor options <tex2jax>
+ The mml2jax preprocessor options <mml2jax>
+ The jsMath2jax preprocessor options <jsMath2jax>
+
+.. toctree::
+ :maxdepth: 1
+
+ The TeX input processor options <TeX>
+ The MathML input processor options <MathML>
+ The HTML-CSS output processor options <HTML-CSS>
+ The NativeMML output processor options <NativeMML>
+ The MMLorHTML configuration options <MMLorHTML>
+
+.. toctree::
+ :maxdepth: 1
+
+ The MathMenu options <MathMenu>
+ The MathZoom options <MathZoom>
+ The FontWarnings options <FontWarnings>
+
+
diff --git a/docs/html/_sources/output.txt b/docs/html/_sources/output.txt
@@ -10,9 +10,18 @@ Currently, MathJax can render math in two ways:
- Using a browser's native MathML support.
These are implemented by the `HTML-CSS` and `NativeMML` output
-processors. You select which one you want to use by including either
-``"output/HTML-CSS"`` or ``"output/NativeMML"`` in the `jax` array of
-your MathJax configuration. For example
+processors.
+
+If you are using one of the combined configuration files, then this will
+select one of these output processors for you. If the config file ends in
+``_HTML``, then it is the HTML-CSS output processor, and if it ends in
+``_HTMLorMML``, then the NativeMML output processor will be chosen if the
+browser supports it, otherwise HTML-CSS output will be used.
+
+If you are performing your own in-line or file-based configuration, you
+select which one you want to use by including either ``"output/HTML-CSS"``
+or ``"output/NativeMML"`` in the `jax` array of your MathJax configuration.
+For example
.. code-block:: javascript
@@ -25,7 +34,7 @@ The HTML-CSS output processor produces high-quality output in all
major browsers, with results that are consistent across browsers and
operating systems. This is MathJax's primary output mode. It's major
advantage is its quality and consistency; it's drawback is that it is
-slower that the NativeMML mode at rendering the mathematics. (The
+slower than the NativeMML mode at rendering the mathematics. (The
HTML-CSS processor has not yet been optimized for speed, so you can
expect some improvement in the future. Note that IE8 in "IE8
standards mode" is an order of magnitude slower than any other browser
@@ -41,20 +50,19 @@ MathML. Opera has some built-in support for MathML that works well
with simple equations, but fails with more complex formulas, so we
don't recommend using the NativeMML output processor with Opera. Safari,
Chrome, Konqueror, and most other browsers don't support MathML
-natively.
+natively, but may in the future, since MathML is part of the HTML5
+specification.
-The advantage of the NativeMML output Processor is its speed, since
-native MathML support is much faster than using complicated HTML and
-CSS to lay out mathematics via an interpreted language like JavaScript
-(as the HTML-CSS output processor does). The disadvantage is that you
-are dependent on the browser's MathML implementation for your
+The advantage of the NativeMML output Processor is its speed, since native
+MathML support is much faster than using complicated HTML and CSS to lay
+out mathematics, as the HTML-CSS output processor does. The disadvantage
+is that you are dependent on the browser's MathML implementation for your
rendering, and these vary in quality of output and completeness of
-implementation. MathJax may rely on features that are not available
-in some renderers (for example, Firefox's MathML support does not
-implement some of the named widths, such as
-``negativethinmathspace``). The results using the NativeMML output
-processor may have spacing or other rendering problems that are
-outside of MathJax's control.
+implementation. MathJax may rely on features that are not available in
+some renderers (for example, Firefox's MathML support does not implement
+some of the named widths, such as ``negativethinmathspace``). The results
+using the NativeMML output processor may have spacing or other rendering
+problems that are outside of MathJax's control.
Automatic Selection of the Output Processor
===========================================
@@ -62,11 +70,16 @@ Automatic Selection of the Output Processor
Since not all browsers support MathML natively, it would be unwise to
choose the NativeMML output processor unless you are sure of your
audience's browser capabilities. MathJax can help with that, however,
-since there is a special configuration file that will choose between
-NativeMML and HTML-CSS depending on the browser in use. To invoke it,
-add ``"MMLorHTML.js"`` to your configurations `config` array, and **do
-not** include an output processor in your `jax` array; MathJax will
-fill that in for you based on the abilities of your user's browser.
+since a number of its combined configuration files will select NativeMML
+output when the browser supports it, and HTML-CSS output otherwise. These
+are the configuration files that end in ``_HTMLorMML``.
+
+If you are doing your own configuration, there is a special configuration
+file that you can include that will choose between NativeMML and HTML-CSS
+depending on the browser in use. To invoke it, add ``"MMLorHTML.js"`` to
+your configurations `config` array, and **do not** include an output
+processor in your `jax` array; MathJax will fill that in for you based on
+the abilities of your user's browser.
.. code-block:: javascript
@@ -74,18 +87,34 @@ fill that in for you based on the abilities of your user's browser.
jax: ["input/TeX"]
You can customize which choice to make on a browser-by-browser basis
-or a global basis. See the ``config/MathJax.js`` file or the
-:ref:`Configuring MathJax <configuration>` section for futher
-details.
+or a global basis. See the ``config/default.js`` file or the
+:ref:`Configuring MMLorHTML <configure-MMLorHTML>` section for futher
+details. As an example, this configuration tells MathJax to use HTML-CSS
+output rather than native MathML support for Firefox:
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ MMLorHTML: { prefer: { Firefox: "HTML" } }
+ });
+ </script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+
+With this configuration, MathML output will be used only for IE with the
+MathPlayer plugin (Firefox is the only other browser to have native MathML
+support that is sufficient for use with MathJax). Note, however, that a
+user can employ the MathJax contectual menu to select the other renderer if
+he or she wishes.
MathJax produces MathML that models the underlying mathematics as best
it can, rather than using complicated hacks to improve output for a
particular MathML implementation. When you make the choice to use the
NativeMML output processor, you are making a trade-off: gaining speed
at the expense of quality and reliability, a decision that should not
-be taken lightly. Note, however, that a user can employ the MathJax
-contectual menu to select the other other renderer if he or she
-wishes.
+be taken lightly.
.. _html-css-with-ie8:
@@ -93,16 +122,16 @@ wishes.
HTML-CSS with IE8
=================
-Internet Explorer 8 has at least eight different rendering modes in
-which can operate, and that are triggered by the `DOCTYPE` of the
-document being viewed. Its "quirks" mode is its fastest mode, and its
-"IE8 standards" mode is its slowest. This is the mode triggered by
-strict HTML document types, and since most modern content management
-systems now include a `DOCTYPE` that activates "standards" mode, IE8
-will operate in its slowest manner. This is particularly apparent
-when MathJax is used, since IE8 in standards mode runs 20 to 30 times
-slower than it does in its IE7 emulation mode, and 60 times slower
-than in quirks mode.
+Internet Explorer 8 has at least eight different rendering modes in which
+it can operate, and that are triggered by the `DOCTYPE` of the document
+being viewed. Its "quirks" mode is its fastest mode, and its "IE8
+standards" mode is its slowest. This is the mode triggered by strict HTML
+document types, and since most modern content management systems now
+include a `DOCTYPE` that activates "standards" mode, IE8 will operate in
+its slowest manner. This is particularly apparent when MathJax is used,
+since IE8 in standards mode runs 20 to 30 times slower than it does in its
+IE7 emulation mode, and 60 times slower than in quirks mode, on the sample
+equations page in ``test/sample.html``.
Most users find this speed reduction unacceptable when there is much
mathematics on the page. To overcome this problem, you may wish to
@@ -124,3 +153,7 @@ described above to select NativeMML output when possible, and request
that your users install the `MathPlayer plugin
<http://www.dessci.com/en/products/mathplayer/>`_, which will render
the mathematics much more quickly.
+
+It appears that IE9 in IE9 standards mode may perform better than IE8, but
+since IE9 is still in beta testing as of this writing, we have yet to see
+exactly what the performance of MathJax in IE9 will be like.
diff --git a/docs/html/_sources/platforms/index.txt b/docs/html/_sources/platforms/index.txt
@@ -4,6 +4,20 @@
Using MathJax in popular web platforms
======================================
+MathJax plugins are available for a growing number of wikis, blogs, and
+other content-management systems. These include WordPress, Blogger,
+Sphinx, TiddlyWiki, and MathEL-Wiki. A list of these is available in the
+`web applications and integrations
+<http://www.mathjax.org/community/mathjax-in-use/#web-apps>`_ list of the
+`MathJax web site <http://www.mathjax.org>`_.
+
+If the program you are using is not one of these, you may still be able to
+use MathJax by modifying the theme or template for your wiki or blog.
+
+
+Using MathJax in a Theme File
+=============================
+
Most web-based content-management systems include a theme or template
layer that determines how the pages look, and that loads information
common to all pages. Such theme files provide one popular way to
@@ -16,12 +30,11 @@ you.
To enable MathJax in your web platform, add the line::
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-(where ``path-to-MathJax`` is the web-address of the main MathJax
-directory for your server) either just before the ``</head>`` tag in
-your theme file, or at the end of the file if it contains no
-``</head>``.
+either just before the ``</head>`` tag in your theme file, or at the end of
+the file if it contains no ``</head>``.
The theme files for various popular platforms are:
diff --git a/docs/html/_sources/platforms/movable-type.txt b/docs/html/_sources/platforms/movable-type.txt
@@ -4,9 +4,6 @@
Using MathJax in Movable Type
=============================
-These instructions assume you already have placed the MathJax files on
-your server (see :ref:`Installing and Testing MathJax <installation>`).
-
1. Open Moveable Type Admin interface for the site on which you want to enable
MathJax.
@@ -25,17 +22,17 @@ your server (see :ref:`Installing and Testing MathJax <installation>`).
.. code-block:: html
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
- where ``path-to-MathJax`` is replaced by the web-address of the
- main MathJax dorectory on your server.
+ to load MathJax from our distributed netowrk service.
.. image:: ../images/mt_head.png
-5. Save the file. This should enable MathJax, so you should be able
- to start adding mathematical content to your pages. Use the
- ``config/MathJas.js`` file in the MathJax directory to configure
- MathJax to your needs (see :ref:`Configuring MathJax
- <configuration>` for details).
+5. Save the file. This will enable MathJax with both TeX and MathML
+ input, so you should be able to start adding mathematical content to
+ your pages. If you need to adjust the configuraiton, see
+ :ref:`Configuring MathJax <loading>` for more details.
diff --git a/docs/html/_sources/platforms/wordpress.txt b/docs/html/_sources/platforms/wordpress.txt
@@ -4,8 +4,9 @@
Installing MathJax in WordPress
===============================
-These instructions assume you already have placed the MathJax files on
-your server (see :ref:`Installing MathJax <installation>`).
+Note that there is a `WordPress plugin for MathJax
+<http://wordpress.org/extend/plugins/mathjax-latex/>`_, so that may be a
+better choice than editing the theme directly.
1. Open the WordPress admin interface.
@@ -28,15 +29,14 @@ your server (see :ref:`Installing MathJax <installation>`).
.. code-block:: html
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
just before that. Otherwise, insert the same code at the very
- bottom of the file. Here, ``path-to-MathJax`` should be replaced
- by the web-address of the main MathJax directory on your server,
- e.g., ``src="/mathjax/MathJax.js"``.
+ bottom of the file.
-4. Save the file. This should enable MathJax, so you should be able to
- start adding mathematical content to your pages. Use the
- ``config/MathJas.js`` file in the MathJax directory to configure
- MathJax to your needs (see :ref:`Configuring MathJax
- <configuration>` for details).
+4. Save the file. This will enable MathJax with both TeX and MathML
+ input, so you should be able to start adding mathematical content to
+ your pages. If you need to adjust the configuraiton, see
+ :ref:`Configuring MathJax <loading>` for more details.
diff --git a/docs/html/_sources/start.txt b/docs/html/_sources/start.txt
@@ -5,8 +5,63 @@ Getting Started
***************
MathJax allows you to include mathematics in your web pages, either
-using TeX and LaTeX notation, or as MathML. To use MathJax, you will
-need to do the following things:
+using TeX and LaTeX notation, or as MathML, and you can even use both
+in the same document.
+
+There are two ways to access MathJax: the easiest way is to use the
+copy of MathJax available from our distributed network service at
+``cdn.mathjax.org``, but you can also download and install a copy of
+MathJax on your own server, or for use locally on your own hard disk
+(with no need for network access). Both of these are described below,
+with links to more detailed explanations. This page gives the
+quickest and easiest ways to get MathJax up and running on your web
+site, but you may want to read the details in order to customize the
+setup for your pages.
+
+.. _mathjax-CDN:
+
+Using the MathJax Content Delivery Network (CDN)
+================================================
+
+To use MathJax from our server, you need to do two things:
+
+1. Link MathJax into the web pages that are to include mathematics.
+
+2. Put mathematics into your web pages so that MathJax can display
+ it.
+
+You accomplish the first step by putting
+
+.. code-block:: html
+
+ <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+
+into the ``<head>`` block of your document. (It can also go in the
+``<body>`` if necessary, but the head is to be preferred.) This will
+load the latest version of MathJax from the distributed server, and
+configure it to recognize mathematics in both TeX and MathML notation,
+and ask it to generate its output using MathML if the browser supports
+that, and otherwise use HTML-with-CSS to display the mathematics.
+This is the most general configuration, and should suffice for most
+people's needs. Other configurations are available, however, and you
+can also provide additional configuration parameters to taylor one of
+the confiogurations to your needs. More details can be found in the
+:ref:`Loading and Configuring MathJax <loading>` instructions.
+
+The use of ``cdn.mathjax.org`` is governed by its `terms of service
+<http://www.mathjax.org/download/mathjax-cdn-terms-of-service/>`_, so be
+sure to read that before linked to the MathJax CDN server.
+
+To see how to enter mathematics in your web pages, see `Putting
+mathematics in a web page`_ below.
+
+
+Installing Your Own Copy of MathJax
+===================================
+
+We recommend using the CDN service if you can, but you can also install
+MathJax on your own server, or locally on your own hard disk. To do
+so you will need to do the following things:
1. Obtain a copy of MathJax and make it available on your server.
@@ -17,23 +72,18 @@ need to do the following things:
4. Put mathematics into your web pages so that MathJax can display
it.
-Each of these steps is described briefly below, with links to more
-detailed explanations. This page gives the quickest and easiest ways
-to get MathJax up and running on your web site, but you may want to
-read the details in order to customize the setup for your pages.
-
Obtaining and Installing MathJax
-================================
+--------------------------------
The easiest way to set up MathJax is to obtain the v1.1 archive from
the `MathJax download page <http://www.mathjax.org/download/>`_ (you
-should obtain a file names something like
-``mathjax-MathJax-v1.0-X-XXXXXXXX.zip``, where the X's are
+should obtain a file named something like
+``mathjax-MathJax-v1.1-X-XXXXXXXX.zip``, where the X's are
random-looking letters and numbers). This archive includes both the
MathJax code and the MathJax webfonts, so it is the only file you
-need. (This is different from the beta releases, which had the fonts
-separate from the rest of the code).
+need. Note that this is different from earlier releases, which had
+the fonts separate from the rest of the code.
Unpack the archive and place the resulting MathJax folder onto your
web server at a convenient location where you can include it into your
@@ -44,56 +94,61 @@ from within any page on your server.
Note: While this is the easiest way to set up MathJax initially, there
is a better way to do it if you want to be able to keep your copy of
-MathJax up-to-date easily. That uses the `Git <http://git-scm.com/>`_
-version control system, and is described in the :ref:`Installing
-MathJax <getting-mathjax-git>` document. If you prefer using
-`Subversion <http://subversion.apache.org/>`_, you can also use that
-to get a copy of MathJax (see :ref:`Installing MathJax via SVN
+MathJax up-to-date. That uses the `Git <http://git-scm.com/>`_ version
+control system, and is described in the :ref:`Installing MathJax
+<getting-mathjax-git>` document. If you prefer using `Subversion
+<http://subversion.apache.org/>`_, you can also use that to get a copy
+of MathJax (see :ref:`Installing MathJax via SVN
<getting-mathjax-svn>`).
Once you have MathJax set up on your server, you can test it using the
files in the ``MathJax/test`` directory. Load them in your browser
using its web address rather than opening them locally (i.e., use an
``http://`` URL rather than a ``file://`` URL). When you view the
-``index.html`` file, after a few moments you should see a message that
-MathJax appears to be working. If not, check that the files have been
-transferred to the server completely and that the permissions allow
-the server to access the files and folders that are part of the
-MathJax directory. (Be sure to verify the MathJax folder's permissions
-as well.) Check the server log files for any errors that pertain to
-the MathJax installation; this may help locate problems in the
-permission or locations of files.
+``index.html`` file, after a few moments you should see a message
+indicating that MathJax appears to be working. If not, check that the
+files have been transferred to the server completely and that the
+permissions allow the server to access the files and folders that are
+part of the MathJax directory. (Be sure to verify the MathJax
+folder's permissions as well.) Check the server log files for any
+errors that pertain to the MathJax installation; this may help locate
+problems in the permission or locations of files.
-Configuring MathJax
-===================
+Configuring your copy of MathJax
+--------------------------------
When you include MathJax into your web pages as described below, it
-will load the file ``config/MathJax.js`` (i.e., the file named
-``MathJax.js`` in the ``config`` folder of the main ``MathJax``
-folder). This file contains the configuration parameters that
-control how MathJax operates. There are comments in it that
-explain each of the parameters, and you can edit the file to suit
-your needs.
-
-The default settings are appropriate for pages that use TeX as the
-input language, but you might still want to adjust some settings; for
-example, you might want to include some additional extensions such as
-the ``AMSmath`` and ``AMSsymbols`` extensions. The comments in the
-file should help you do this, but more detailed instructions are
-included in the :ref:`Configuring MathJax <configuration>` document.
-There are also ways to configure MathJax other than by using the
-``config/MathJax.js`` file; these are descibed on that page as well.
-
-
-Linking MathJax into a web page
-===============================
+will load the file ``config/TeX-AMS-MML_HTMLorMML.js`` (i.e., the file
+named ``TeX-AMS-MML_HTMLorMML.js`` in the ``config`` folder of the
+main ``MathJax`` folder). This file preloads all the most comply-used
+components of MathJax, allowing it to process mathematics that is in
+the TeX or LaTeX format, or in MathML notation. It will produce
+output in MathML form if the user's browser supports that, and will use
+HTML-with-CSS to render the mathematics otherwise.
+
+There are a number of other prebuilt configuration files that you can
+choose from as well, or you could use the ``config/default.js`` file and
+customize the settings yourself. The combined configuration files are
+described more fully in :ref:`Common Configurations
+<common-configurations>`, and the configuration options are described in
+:ref:`Configuration Options <configuration>`.
+
+Note: The configuration process has changed in MathJax v1.1, so if you have
+existing pages that use MathJax, you may need to modify the tag that
+loads MathJax so that is conforms with the new configuration process.
+See :ref:`Installing and Configuring MathJax <installation>` for more
+details.
+
+
+Linking your copy of MathJax into a web page
+--------------------------------------------
You can include MathJax in your web page by putting
.. code-block:: html
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
in your document's ``<head>`` block. Here, ``path-to-MathJax`` should
be replaced by the URL for the main MathJax directory, so if you have
@@ -102,7 +157,7 @@ site, you could use
.. code-block:: html
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
to load MathJax in your page. For example, your page could look like
@@ -111,32 +166,31 @@ to load MathJax in your page. For example, your page could look like
<html>
<head>
...
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
</head>
<body>
...
</body>
</html>
-Although it is possible to load MathJax from a site other than your
-own web server, there are issues involved in doing so that you need to
-take into consideration. See the :ref:`Notes About Shared Servers
-<cross-domain-linking>` for more details. Please do **not** link to
-the copy of MathJax at ``www.mathjax.org``, as we do not have the
-resources to act as a web service for all the sites on the web that
-would like to display mathematics. If you are able to run MathJax
-from your own server, please do so (this will probably give you better
-response time in any case).
+If you have installed MathJax on a server that is in a different
+domain from the one serving the page that loads MathJax, be sure to
+read the :ref:`Notes About Shared Servers <cross-domain-linking>` for
+more details. In that case, you may wish to consider using the
+:ref:`MathJax CDN <mathjax-cdn>` rather than installing your own copy
+of MathJax.
Putting mathematics in a web page
=================================
-To put mathematics in your web page, you can use either TeX and LaTeX
-notation, or MathML notation (or both); the configuration file tells
-MathJax which you want to use, and how you plan to indicate the
-mathematics when you are using TeX notation. The following sections
-tell you how to use each of these formats.
+To put mathematics in your web page, you can use either :term:`TeX`
+and :term:`LaTeX` notation or :term:`MathML` notation or both within
+the same page; the MathJax configuration tells MathJax which you want
+to use, and how you plan to indicate the mathematics when you are
+using TeX notation. The configuration file used in the examples above
+tells MathJax to look for both TeX and MathML notation within your
+pages. These two formats are described in more detail below.
.. _tex-and-latex-input:
@@ -144,21 +198,18 @@ tell you how to use each of these formats.
TeX and LaTeX input
-------------------
-To process mathematics that is written in :term:`TeX` or :term:`LaTeX`
-format, include ``"input/TeX"`` in your configuration's `jax` array,
-and add ``"tex2jax.js"`` to the `extensions` array so that MathJax
-will look for TeX-style math delimiters to identify the mathematics on
-the page.
-
-.. code-block:: javascript
-
- extensions: ["tex2math.js"],
- jax: ["input/TeX", "output/HTML-CSS"]
-
-Note that the default math delimiters are ``$$...$$`` and ``\[...\]``
-for displayed mathematics, and ``\(...\)`` for in-line mathematics.
-In particular, the ``$...$`` in-line delimiters are **not** used by
-default. That is because dollar signs appear too often in
+Mathematics that is written in :term:`TeX` or :term:`LaTeX` format is
+indicated using *math delimiters* that surround the mathematics,
+telling MathJax what part of your page represents mathematics and what
+is normal text. There are two types of equations: ones that occur
+within a paragraph (in-line mathematics), and larger equations that
+appear separated from the rest of the text on lines by themselves
+(displayed mathematics).
+
+The default math delimiters are ``$$...$$`` and ``\[...\]`` for
+displayed mathematics, and ``\(...\)`` for in-line mathematics. Note
+in particular that the ``$...$`` in-line delimiters are **not** used
+by default. That is because dollar signs appear too often in
non-mathematical settings, which could cause some text to be treated
as mathematics unexpectedly. For example, with single-dollar
delimiters, "... the cost is $2.50 for the first one, and $2.00 for
@@ -167,38 +218,60 @@ one, and" to be treated as mathematics since it falls between dollar
signs. For this reason, if you want to use single-dollars for in-line
math mode, you must enable that explicitly in your configuration:
-.. code-block:: javascript
+.. code-block:: html
- tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
+ });
+ </script>
+ <script type="text/javascipt" src="path-to-mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-See the ``config/MathJax.js`` file, or the :ref:`tex2jax configuration
+See the ``config/default.js`` file, or the :ref:`tex2jax configuration
options <configure-tex2jax>` page, for additional configuration
-parameters that you can specify for the ``tex2jax`` preprocessor.
+parameters that you can specify for the `tex2jax` preprocessor,
+which is the component of MathJax that identifies TeX notation within
+the page). See the :ref:`TeX and LaTeX <TeX-support>` page for
+more on MathJax's support for TeX.
-Here is a complete sample page containing TeX mathematics (which
-assumes that ``config/MathJax.js`` is configured as described above):
+Here is a complete sample page containing TeX mathematics (also available
+in the ``test/sample-tex.html`` file):
.. code-block:: html
+ <!DOCTYPE html>
<html>
<head>
<title>MathJax TeX Test Page</title>
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
+ </script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
</head>
<body>
- When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
+ When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
</body>
</html>
-There are a number of extensions for the TeX input processor that you
-might want to add to the `extensions` array. These include:
+Since the TeX notation is part of the text of the page, there are some
+caveats that you must keep in mind when you enter your mathematics.
+In particular, you need to be careful about the use of less-than
+signs, since those are what the browser uses to indicate the start of
+a tag in HTML. Putting a space on both sides of the less-than sign
+should be sufficient, but see :ref:`TeX and LaTeX support
+<TeX-support>` for details.
+
+There are a number of extensions for the TeX input processor that are
+loaded by the ``TeX-AMS-MML_HTMLorMML`` configuration. These include:
- `TeX/AMSmath.js`, which defines the AMS math environments and
macros,
- `TeX/AMSsymbols.js`, which defines the macros for the symbols in
- the msam10 and msbm10 fonts,
+ the `msam10` and `msbm10` fonts,
- `TeX/noErrors.js`, which shows the original TeX code rather than
an error message when there is a problem processing the TeX, and
@@ -206,34 +279,16 @@ might want to add to the `extensions` array. These include:
- `TeX/noUndefined.js`, which prevents undefined macros from
producing an error message, and instead shows the macro name in red.
-For example,
-
-.. code-block:: javascript
-
- extensions: ["tex2math.js","TeX/noErrors.js","TeX/noUndefined.js",
- "TeX/AMSmath.js","TeX/AMSsymbols.js"]
-
-loads all four extensions, in addition to the ``tex2math``
-preprocessor.
+Other extensions may be loaded automatically when needed.
MathML input
------------
-To process mathematics written in :term:`MathML`, include
-``"input/MathML"`` in your configuration's `jax` array, and add
-``"mml2jax.js"`` to the `extensions` array so that MathJax will
-locate the ``<math>`` elements in the page automatically.
-
-.. code-block:: javascript
-
- extensions: ["mml2jax.js"],
- jax: ["input/MathML", "output/HTML-CSS"]
-
-With this configuration, you would mark your mathematics using
-standard ``<math>`` tags, where ``<math display="block">`` represents
-displayed mathematics and ``<math display="inline">`` or just
-``<math>`` represents in-line mathematics.
+For mathematics written in :term:`MathML` notation, you mark your
+mathematics using standard ``<math>`` tags, where ``<math
+display="block">`` represents displayed mathematics and ``<math
+display="inline">`` or just ``<math>`` represents in-line mathematics.
Note that this will work in HTML files, not just XHTML files (MathJax
works with both), and that the web page need not be served with any
@@ -242,15 +297,18 @@ than HTML, you should not include a namespace prefix for your
``<math>`` tags; for example, you should not use ``<m:math>`` except
in a file where you have tied the ``m`` namespace to the MathML DTD.
-Here is a complete sample page containing MathML mathematics (which
-assumes that ``config/MathJax.js`` is configured as described above):
+Here is a complete sample page containing MathML mathematics (also
+available in the ``test/sample-mml.html`` file):
.. code-block:: html
+ <!DOCTYPE html>
<html>
<head>
<title>MathJax MathML Test Page</title>
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
</head>
<body>
@@ -283,9 +341,27 @@ assumes that ``config/MathJax.js`` is configured as described above):
</body>
</html>
-The ``mml2jax`` has only a few configuration options; see the
-``config/MathJax.js`` file or the :ref:`mml2jax configuration options
-<configure-mml2jax>` page for more details.
+When entering MathML notation in an HTML page (rather than an XHTML
+page), you should **not** use self-closing tags, but should use explicit
+open and close tags for all your math elements. For example, you
+should use
+
+.. code-block:: html
+
+ <mspace width="thinmathspace"></mspace>
+
+rather than ``<mspace width="5pt" />`` in an HTML document. If you use the
+self-closing form, some browsers will not build the math tree properly, and
+MathJax will receive a damaged math structure, which will not be rendered
+as the original notation would have been. Unfortunately, there is nothing
+MathJax can do about that, since the browser has incorrectly interpreted
+the tags long before MathJax has a chance to work with them.
+
+The component of MathJax that recognizes MathML notation is called the
+`mml2jax` extension, and it has only a few configuration options; see the
+``config/default.js`` file or the :ref:`mml2jax configuration options
+<configure-mml2jax>` page for more details. See the :ref:`MathML
+<MathML-support>` page for more on MathJax's MathML support.
Where to go from here?
@@ -297,7 +373,7 @@ able to use it to write web pages that include mathematics. At this
point, you can start making pages that contain mathematical content!
You could also read more about the details of how to :ref:`customize
-MathJax <configuration>`.
+MathJax <loading>`.
If you are trying to use MathJax in blog or wiki software or in some
other content-management system, you might want to read about :ref:`using
diff --git a/docs/html/_sources/startup.txt b/docs/html/_sources/startup.txt
@@ -63,11 +63,10 @@ pushed into the queue:
2. Perform the configuration actions:
- Post the ``Begin Config`` startup signal
- - Execute the content of the ``<script>`` that loaded MathJax,
- or load the ``config/MathJax.js`` file if the ``<script>``
- is empty
- - If the ``MathJax.Hub.config.delayStartupUntil`` value is set,
- wait until its condition is met
+ - Load any configuration files specified via ``config=`` as a script parameter
+ - Execute the content of the ``<script>`` that loaded MathJax, if it is not empty
+ - Wait for the ``delayStartupUntil`` condition to be met, if one was specified
+ - Execute any ``text/x-mathjax-config`` script blocks
- load the files listed in the ``MathJax.Hub.config.config`` array
- Post the ``End Config`` startup signal
@@ -115,15 +114,20 @@ pushed into the queue:
..
-7. Wait for the onload handler to fire
+7. Set the MathJax menu's renderer value based on the jax that have been
+ loaded
..
-8. Set ``MathJax.isReady`` to ``true``
+8. Wait for the onload handler to fire
..
-9. Perform the typesetting pass (preprocessors and processors)
+9. Set ``MathJax.isReady`` to ``true``
+
+..
+
+10. Perform the typesetting pass (preprocessors and processors)
- Post the ``Begin Typeset`` startup signal
- Post the ``Begin PreProcess`` hub signal
@@ -141,12 +145,16 @@ pushed into the queue:
..
-10. Post the ``End`` startup signal
-
-
-
-
-
+11. Post the ``End`` startup signal
+The loading of the jax and extensions in steps 5 and 6 are now done in
+parallel, rather than sequentially. That is, all the jax and extensions
+are requested simultaneously, so they load concurrently. That means they
+can load in any order, and that the begin and end signals for the jax and
+extensions can be intermixed. (In general, you will get `Begin Jax`
+followed by `Begin Extensions`, but the order of `End Jax` and `End
+Extensions` will depend on the file sbeing loaded.) Both 5 and 6 must
+complete, however, before 7 will be performed.
+See the ``test/sample-signals.html`` file to see the signals in action.
+\ No newline at end of file
diff --git a/docs/html/_sources/synchronize.txt b/docs/html/_sources/synchronize.txt
@@ -37,20 +37,19 @@ queues for actions that need to be synchronized with each other, but
not to MathJax as a whole. See the :ref:`Queue Object <api-queue>`
reference page for more details.
-**Signals** are another means of synchronizing your own code with
-MathJax. Many of the important actions that MathJax takes (like
-typesetting new math on the page, or loading an external component)
-are "announced" by posting a message to a special object called a
-`Signal`. Your code can register an interest in receiving one or more
-of these signals by providing a callback to be called when the signal
-is posted. When the signal arrives, MathJax will call your code.
-This works somewhat like an event handler, except that many different
-types of events can go through the same signal, and the signals have a
-"memory", meaning that if you register an interest in a particular
-type of signal and that signal has already occurred, you will be told
-about the past occurrances as well as any future ones. See the
-:ref:`Signal Object <api-signal>` reference page for more details.
-See also the ``test/sample-signals.html`` file in the MathJax ``test``
+**Signals** are another means of synchronizing your own code with MathJax.
+Many of the important actions that MathJax takes (like typesetting new math
+on the page, or loading an external component) are "announced" by posting a
+message to a special object called a `Signal`. Your code can register an
+interest in receiving one or more of these signals by providing a callback
+to be called when the signal is posted. When the signal arrives, MathJax
+will call your code. This works somewhat like an event handler, except
+that many different types of events can go through the same signal, and the
+signals have a "memory", meaning that if you register an interest in a
+particular type of signal and that signal has already occurred, you will be
+told about the past occurrances as well as any future ones. See the
+:ref:`Signal Object <api-signal>` reference page for more details. See
+also the ``test/sample-signals.html`` file in the MathJax ``test``
directory for a working example of using signals.
Each of these is explained in more detail in the links below:
diff --git a/docs/html/_sources/tex.txt b/docs/html/_sources/tex.txt
@@ -4,13 +4,13 @@
MathJax TeX and LaTeX Support
*****************************
-The support for TeX and LaTeX in MathJax consists of two parts: the
-`tex2jax` preprocessor, and the TeX input processor. The first of
-these looks for mathematics within your web page (indicated by math
-delimiters like ``$$...$$``) and marks the mathematics for later
-processing by MathJax. The TeX input processor is what converts the
-TeX notation into MathJax's internal format, where one of MathJax's
-output processors then displays it in the web page.
+The support for :term:`TeX` and :term:`LaTeX` in MathJax consists of two
+parts: the `tex2jax` preprocessor, and the `TeX` input processor. The
+first of these looks for mathematics within your web page (indicated by
+math delimiters like ``$$...$$``) and marks the mathematics for later
+processing by MathJax. The TeX input processor is what converts the TeX
+notation into MathJax's internal format, where one of MathJax's output
+processors then displays it in the web page.
The `tex2jax` preprocessor can be configured to look for whatever
markers you want to use for your math delimiters. See the
@@ -36,6 +36,45 @@ you need a LaTeX-to-HTML converter, you should consider `other options
<http://www.google.com/search?q=latex+to+html+converter>`_.
+TeX and LaTeX math delimiters
+=============================
+
+By default, the `tex2jax` preprocesor defines the LaTeX math delimiters,
+which are ``\(...\)`` for in-line math, and ``\[...\]`` for displayed
+equations. It also defines the TeX delimiters ``$$...$$`` for displayed
+equations, but it does **not** define ``$...$`` as in-line math
+delimiters. That is because dollar signs appear too often in
+non-mathematical settings, which could cause some text to be treated
+as mathematics unexpectedly. For example, with single-dollar
+delimiters, "... the cost is $2.50 for the first one, and $2.00 for
+each additional one ..." would cause the phrase "2.50 for the first
+one, and" to be treated as mathematics since it falls between dollar
+signs. For this reason, if you want to use single-dollars for in-line
+math mode, you must enable that explicitly in your configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [['$','$'], ['\\(','\\)']],
+ processEscapes: true
+ }
+ });
+
+Note that if you do this, you may want to also set ``processEscapes`` to
+``true``, as in the example above, so that you can use ``\$`` to prevent a
+dollar sign from being treated as a math delimiter within the text of your
+web page. (Note that within TeX mathematics, ``\$`` always has this
+meaning; ``processEscapes`` only affects the treatment of the *opening*
+math delimiter.)
+
+See the ``config/default.js`` file, or the :ref:`tex2jax configuration
+options <configure-tex2jax>` page, for additional configuration
+parameters that you can specify for the `tex2jax` preprocessor,
+which is the component of MathJax that identifies TeX notation within
+the page).
+
+
TeX and LaTeX in HTML documents
===============================
@@ -97,40 +136,61 @@ TeX and LaTeX extensions
========================
While MathJax includes nearly all of the Plain TeX math macros, and
-many of the LaTeX macros and environments, note everything is
+many of the LaTeX macros and environments, not everything is
implemented in the core TeX input processor. Some less-used commands
are defined in extensions to the TeX processor. MathJax will load
some extensions automatically when you first use the commands they
implement (for example, the ``\def`` and ``\newcommand`` macros are
-implemented in the ``TeX/newcommand.js`` extension, but MathJax loads
+implemented in the ``newcommand.js`` extension, but MathJax loads
this extension itself when you use those macros). Not all extensions
are set up to load automatically, however, so you may need to request
some extensions explicitly yourself.
To enable any of the TeX extensions, simply add the appropriate string
-(e.g., `"TeX/AMSmath.js"`) to your config's `extensions` array. The
-main extensions are described below.
+(e.g., ``"AMSmath.js"``) to the `extensions` array in the ``TeX`` block
+of your configuration. If you use one of the combined configuration files,
+like ``TeX-AMS_HTML``, this will already include several of the extensions
+automatically, but you can include others using a mathjax configuration
+script prior to loading MathJax. For example
+
+.. code-block:: html
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({ TeX: { extensions: ["autobold.js"] }});
+ </script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
+ </script>
+
+will load the `autobold` TeX extension in addition to those already
+included in the ``TeX-AMS_HTML`` configuration file.
+
+The main extensions are described below.
AMSmath and AMSsymbol
---------------------
-The `AMSmath` extension implements AMS math environments and macros,
-and the `AMSsymbol` extension implements macros for accessing the AMS
-symbol fonts. To use these extensions, add them to your `extensions` array.
+The `AMSmath` extension implements AMS math environments and macros, and
+the `AMSsymbol` extension implements macros for accessing the AMS symbol
+fonts. These are already included in the combined configuration files that
+load the TeX input processor. To use these extensions in your own
+configurations, add them to the `extensions` array in the TeX block.
.. code-block:: javascript
- extensions: ["TeX/AMSmath.js", "TeX/AMSsymbol.js", ...]
+ TeX: {
+ extensions: ["AMSmath.js", "AMSsymbol.js", ...]
+ }
-See the list of commands at the end of this document for details about
-what commands are implemented in these extensions.
+See the list of control sequences at the end of this document for details
+about what commands are implemented in these extensions.
-The `AMSmath` extension will be loaded automatically when you first
-use one of the math environments it defines, but you will have to load
-it explicitly if you want to use the other macros that it defines.
-The `AMSsymbols` extension is not loaded automatically, so you must
-include it explicitly if you want to use the macros it defines.
+If you are not using one of the combined configuration files, the `AMSmath`
+extension will be loaded automatically when you first use one of the math
+environments it defines, but you will have to load it explicitly if you
+want to use the other macros that it defines. The `AMSsymbols` extension
+is not loaded automatically, so you must include it explicitly if you want
+to use the macros it defines.
Autobold
@@ -141,7 +201,11 @@ appears in a section of an HTML page that is in bold.
.. code-block:: javascript
- extensions: ["TeX/autobold.js"]
+ TeX: {
+ extensions: ["autobold.js"]
+ }
+
+This extension is **not** loaded by the combined configuration files.
noErrors
@@ -153,24 +217,27 @@ whether the dollar signs are shown or not for in-line math, and
whether to put all the TeX on one line or use multiple lines (if the
original text contained line breaks).
-To enable the `noErrors` extension and configure it, use
+This extension is loaded by all the combined configuration files that
+include the TeX input processor. To enable the `noErrors` extension in
+your own configuration, or to modify its parameters, add something like the
+following to your :meth:`MathJax.Hub.Config()` call:
.. code-block:: javascript
- extensions: ["TeX/noErrors.js", ...],
TeX: {
- noErrors: {
- inlineDelimiters: ["",""], // or ["$","$"] or ["\\(","\\)"]
- multiLine: true, // false for TeX on all one line
- style: {
- "font-family": "serif",
- "font-size": "80%",
- "color": "black",
- "border": "1px solid"
- // add any additional CSS styles that you want
- // (be sure there is no extra comma at the end of the last item)
- }
+ extensions: ["noErrors.js"],
+ noErrors: {
+ inlineDelimiters: ["",""], // or ["$","$"] or ["\\(","\\)"]
+ multiLine: true, // false for TeX on all one line
+ style: {
+ "font-family": "serif",
+ "font-size": "80%",
+ "color": "black",
+ "border": "1px solid"
+ // add any additional CSS styles that you want
+ // (be sure there is no extra comma at the end of the last item)
}
+ }
}
Display-style math is always shown in multi-line format, and without
@@ -184,14 +251,14 @@ the paragraph, use
.. code-block:: javascript
TeX: {
- noErrors: {
- inlineDelimiters: ["$","$"], // or ["",""] or ["\\(","\\)"]
- multiLine: false,
- style: {
- "font-size": "normal",
- "border": ""
- }
+ noErrors: {
+ inlineDelimiters: ["$","$"], // or ["",""] or ["\\(","\\)"]
+ multiLine: false,
+ style: {
+ "font-size": "normal",
+ "border": ""
}
+ }
}
You may also wish to set the font family, as the default is "serif"
@@ -201,28 +268,31 @@ noUndefined
-----------
The `noUndefined` extension causes undefined control sequences to be
-shown as their macro names rather than produce an error message. So
+shown as their macro names rather than generating error messages. So
``$X_{\xxx}$`` would display as an "X" with a subscript consiting of the
text ``\xxx`` in red.
-To enable and configure this extension, use for example
+This extension is loaded by all the combined configuration files that
+include the TeX input processor. To enable the `noUndefined` extension
+in your own configuration, or to modify its parameters, add something like
+the following ro your :meth:`MathJax.Hub.Config()` call:
.. code-block:: javascript
- extensions: ["TeX/noUndefined.js", ...],
TeX: {
- noUndefined: {
- attributes: {
- mathcolor: "red",
- mathbackground: "#FFEEEE",
- mathsize: "90%"
- }
+ extensions: ["noUndefined.js"],
+ noUndefined: {
+ attributes: {
+ mathcolor: "red",
+ mathbackground: "#FFEEEE",
+ mathsize: "90%"
}
- }
+ }
+ }
The ``attributes`` setting specifies attributes to apply to the
``mtext`` element that encodes the name of the undefined macro. The
-default settings set ``mathcolor`` to ``"red"``, but do not set any
+default values set ``mathcolor`` to ``"red"``, but do not set any
other attributes. This example sets the background to a light pink,
and reduces the font size slightly.
@@ -272,9 +342,9 @@ array. You can configure the extension as follows:
.. code-block:: javascript
TeX: {
- unicode: {
- fonts: "STIXGeneral, 'Arial Unicode MS'"
- }
+ unicode: {
+ fonts: "STIXGeneral, 'Arial Unicode MS'"
+ }
}
@@ -949,6 +1019,7 @@ the macro name.
\subset
\subseteq
\subseteqq AMSsymbols
+ \subsetneq AMSsymbols
\substack AMSmath
\succ
\succapprox AMSsymbols
@@ -964,6 +1035,7 @@ the macro name.
\supset
\supseteq
\supseteqq AMSsymbols
+ \supsetneq AMSsymbols
\surd
\swarrow
diff --git a/docs/html/_sources/typeset.txt b/docs/html/_sources/typeset.txt
@@ -172,7 +172,8 @@ then you can use
to change the student's answer to be the typeset version of whatever
is in the ``studentAnswer`` variable.
-Here is a complete example that illustrates this approach
+Here is a complete example that illustrates this approach (available in a
+more full-featured version as ``test/sample-dynamic.html``):
.. code-block:: html
@@ -180,13 +181,16 @@ Here is a complete example that illustrates this approach
<head>
<title>MathJax Dynamic Math Test Page</title>
- <script src="/MathJax/MathJax.js">
+ <script type="text/x-mathjax-config">
MathJax.Hub.Config({
- extensions: ["tex2jax.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
+ tex2jax: {
+ inlineMath: [["$","$"],["\\(","\\)"]]
+ }
});
</script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full">
+ </script>
</head>
<body>
diff --git a/docs/html/_sources/upgrade.txt b/docs/html/_sources/upgrade.txt
@@ -0,0 +1,234 @@
+.. _upgrade:
+
+***********************************
+Migrating from MathJax v1.0 to v1.1
+***********************************
+
+MathJax v1.1 fixes a number of bugs in v1.0, and improves support for
+new versions of browsers and mobile devices. It includes changes to
+increase its performance, and to make it more compliant with HTML5. It
+has more flexible configuration options, and the ability to load
+configuration files that combine multiple files into a single one to
+increase loading speed when MathJax starts up. Finally, MathJax.org now
+offers MathJax as a web service through a distributed "cloud" server.
+
+This document describes the changes you may need to make to your MathJax
+configurations in order to take advantage of these improvements.
+
+
+Configuration Changes
+=====================
+
+The main changes that you will see as a page author are in the way that
+MathJax can be loaded and configured. If you have been using in-line
+configuration by putting a :meth:`MathJax.Hub.Config()` call in the body of
+the ``<script>`` tag that loads MathJax, then your site should work
+unchanged with version 1.1 of MathJax. You may wish to consider moving to
+the new HTML5-compliant method of configuring MathJax, however, which uses
+a separate ``<script>`` tag to specify the configuration. That tag should
+come **before** the one that loads ``Mathjax.js``, and should have
+``type="text/x-mathjax-config"`` rather than ``type="text/javascript"``.
+For example,
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js"]
+ });
+ </script>
+
+would become
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js"]
+ });
+ </script>
+ <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+
+instead. This will make sure your pages pass HTML5 validation. Be sure
+that you put the configuration block **before** the script that loads
+MathJax. See :ref:`Loading and Configuring MathJax <loading>` for more
+details.
+
+If your page simply loads ``MathJax.js`` and relies on
+``config/MathJax.js``, then you will need to modify your ``<script>`` tag
+in order to use MathJax v1.1. This is because MathJax no longer loads a
+default configuration file; you are required to explicity specify the
+configuration file if you use one. Furthermore, the name of the
+``config/MathJax.js`` file was a source of confusion, so it has been
+renamed ``config/default.js`` instead. Thus, if you used
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+
+in the past, you should replace it with
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=default"></script>
+
+instead. If you don't do this, you will receive a warning message that
+directs you to a page that explains how to update your script tags to use
+the new configuration format.
+
+
+Combined Configurations
+=======================
+
+New with version 1.1 is the ability to combine several files into a single
+configuration file, and to load that via the same script that loads
+MathJax. This should make configuring MathJax easier, and also helps to
+speed up the initial loading of MathJax's components, since only one file
+needs to be downloaded.
+
+MathJax comes with four pre-built configurations, and our hope is that one
+of these will suit your needs. They are described in more detail in the
+:ref:`Using a Configuration File <config-files>` section. To load one,
+add ``?config=filename`` (where ``filename`` is the name of the
+configuration file without the ``.js``) to the URL that loads
+``MathJax.js``. For example
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js","AMSmath.js","AMSsymbols.js"]
+ });
+ </script>
+
+could be replaced by the single line
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
+
+In this way, you don't have to include the in-line configuration, and all
+the needed files will be downloaded when MathJax starts up. For complete
+details about the contents of the combined configuration files, see the
+:ref:`Common Configurations <common-configurations>` section.
+
+If you want to use a pre-defined configuration file, but want to modify some
+of the configuration parameters, you can use both a
+``text/x-mathjax-config`` block and a ``config=filename`` parameter in
+combination. For example,
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ TeX: {
+ inlineMath: [ ['$','$'], ['\\(','\\)'] ],
+ processEscapes: true
+ }
+ });
+ </script>
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
+
+would load the ``TeX-AMS_HTML`` configuration file, but would reconfigure
+the inline math delimiters to include ``$...$`` in addition to
+``\(...\)``, and would set the ``processEscapes`` parameter to ``true``.
+
+
+Loading MathJax from the CDN
+============================
+
+The MathJax installation is fairly substantial (due to the large number of
+images needed for the image fonts), and so you may not want to (or be able
+to) store MathJax on your own server. Keeping MathJax up to date can also
+be a maintenance problem, and you might prefer to let others handle that
+for you. In either case, using the MathJax distributed network service may be
+the best way for you to obtain MathJax. That way you can be sure you are
+using an up-to-date version of MathJax, and that the server will be fast
+and reliable.
+
+To use the MathJax CDN service, simply load MathJax as follows:
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </scrip>
+
+Of course, you can load any configuration file that you wish, or use a
+``text/x=mathajx-config`` block to configure MathJax in-line.
+:ref:`More details <loading-CDN>` are available, if you need them.
+
+The use of ``cdn.mathjax.org`` is governed by its `terms of service
+<http://www.mathjax.org/download/mathjax-cdn-terms-of-service/>`_, so be
+sure to read that before linked to the MathJax CDN server.
+
+
+Change in default TeX delimiters
+================================
+
+In addition to the fact that MathJax v1.1 no longer loads a default
+configuration file, there is a second configuration change that could
+affect your pages. The ``config/MathJax.js`` file properly configured the
+`tex2jax` preprocessor to use only ``\(...\)`` and not ``$...$`` for in-line
+math delimiters, but the `tex2jax` preprocessor itself incorrectly
+defaulted to including ``$...$`` as in-line math delimiters. The result
+was that if you used in-line configuration to specify the ``tex2jax``
+preprocessor, single-dollar delimiters were enabled by default, while if
+you used file-based configuration, they weren't.
+
+This inconsistency was an error, and the correct behavior was supposed to
+have the single-dollar delimiters disabled in both cases. This is now
+true in v1.1 of MathJax. This means that if you used in-line
+configuration to specify the `tex2jax` preprocessor, you will need to
+change your configuration to explicitly enable the single-dollar
+delimiters if you want to use them.
+
+For example, if you had
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js"]
+ });
+ </script>
+
+and you want to use single-dollar delimiters for in-line math, then you
+should replace this with
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js"],
+ tex2jax: {
+ inlineMath: [ ['$','$'], ['\\(','\\)'] ],
+ processEscapes: true
+ }
+ });
+ </script>
+ <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+
+The same technique can be used in conjunction with a combined
+configuration file. For example
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ['\\(','\\)'] ],
+ processEscapes: true
+ }
+ });
+ </script>
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
+
+will load the pre-defined ``TeX-AMS_HTML`` configuration, but will modify
+the settings to allow ``$...$`` delimiters, and to process ``\$`` to
+produce dollar signs within the text of the page.
diff --git a/docs/html/_sources/whats-new.txt b/docs/html/_sources/whats-new.txt
@@ -0,0 +1,172 @@
+.. _whats-new:
+
+**************************
+What's New in MathJax v1.1
+**************************
+
+MathJax version 1.1 includes a number of important improvements and
+enhancements over version 1.0. We have worked hard to fix bugs, improve
+support for browsers and mobile devices, supprot TeX and MathML better, and
+increase MathJax's performance.
+
+In addition to these changes, MathJax.org now offers MathJax as a network
+service. Instead of having to install MathJax on your own server, you can
+link to our content delivery network (CDN) to get fast access to
+up-to-date and past versions of MathJax. See :ref:`Loading MathJax from
+the CDN <loading-CDN>` for more details.
+
+The following sections outline the changes in v1.1:
+
+Optimization
+============
+
+* Combined configuraiton files that load all the needed files in one piece
+ rather than loading them individually. This simplifies configuration
+ and speeds up typsetting of the mathematics on the page.
+
+* Improved responsiveness to mouse events during typesetting.
+
+* Parallel downloading of files needed by MathJax, for faster startup
+ times.
+
+* Shorter timeout for web fonts, so if they can't be downlaoded, you don't
+ have to wait so long.
+
+* Rollover to image fonts if a web font fails to load (so you don't have
+ to wait for *every* font to fail.
+
+* The MathJax files are now packed only with `yuicompressor` rather than a
+ custom compressor. The CDN serves gzipped versions, which compressed
+ better than the gzipped custom-packed files.
+
+* Improved rendering speed in IE by removing ``position:relative`` from
+ the style for mathematics.
+
+* Improve rendering speed for most browsers by isolating the mathematics
+ from page during typesetting (avoids full page reflows).
+
+
+Enhancements
+============
+
+* Allow the input and output jax configuration blocks to specify extensions
+ to be loaded when the jax is loaded (this avoids needing to load them up
+ front, so they don't have to be loaded on pages that don't include
+ mathematics, for example).
+
+* Better handling of background color from style attributes.
+
+* Ability to pass configuration parameters via script URL.
+
+* Support HTML5 compliant configuration syntax.
+
+* Switch the Git repository from storing the fonts in `fonts.zip` to
+ storing the `fonts/` directory directly.
+
+* Improved About box.
+
+* add a minimum scaling factor (so math won't get too small)
+
+
+TeX Support
+============
+
+* Added support for ``\href``, ``\style``, ``\class``, ``\cssId``.
+* Avoid recursive macro definitions and other resource consumption possibilities.
+* Fix for ``\underline`` bug.
+* Fix for bug with ``\fbox``.
+* Fix height problem with ``\raise`` and ``\lower``.
+* Fix problem with ``\over`` used inside array entries.
+* Fix problem with nesting of math delimiters inside text-mode material.
+* Fix single digit super- and subscripts followed by punctuation.
+* Make sure `movablelimits` is off for ``\underline`` and related macros.
+* Fix problem with dimensions given with ``pc`` units.
+
+
+MathML Support
+==============
+
+* Fix ``<`` and ``&`` being translated too early.
+* Handle self-closing tags in HTML files better.
+* Combine adjacent relational operators in ``<mo>`` tags.
+* Fix entity name problems.
+* Better support for MathML namespaces.
+* Properly handle comments within MathML in IE.
+* Properly consider ``<mspace>`` and ``<mtext>`` as space-like.
+* Improved support for ``<maction>`` with embelished operators.
+
+
+Other Bug Fixes
+===============
+
+* Fixed CSS bleed through with zoom and other situations.
+* Fixed problems with ``showMathMenuMSIE`` when set to ``false``.
+* Replaced illegal prefix characters in cookie name.
+* Improve placement of surd for square roots and n-th roots.
+* Fixed layer obscuring math from MathPlayer for screen readers.
+* Newlines in CDATA comments are now handled properly.
+* Resolved conflict between `jsMath2jax` and `tex2jax` both processing the
+ same equation.
+* Fixed problem with ``class="tex2jax_ignore"`` affecting the processing of
+ sibling elements.
+
+
+Browser Support
+===============
+
+**Android**
+
+* Added detection and configuration for Android browser.
+* Allow use of OTF web fonts in Android 2.2.
+
+
+**Blackberry**
+
+* MathJax now works with OS version 6.
+
+
+**Chrome**
+
+* Use OTF web fonts rather than SVG fonts for version 4 and above.
+
+
+**Firefox**
+
+* Added Firefox 4 detection and configuration.
+* Fix for extra line-break bug when displayed equations are in
+ preformatted text.
+* Update fonts so that FF 3.6.13 and above can read them.
+
+
+**Internet Explorer**
+
+* Changes for compatibility with IE9.
+* Fix for IE8 incorrectly parsing MathML.
+* Fix for IE8 namespace problem.
+* Fix for null ``parentNode`` problem.
+* Fix for ``outerHTML`` not quoting values of attributes.
+
+**iPhone/iPad**
+
+* Add support for OTF web fonts in iOS4.2.
+
+**Nokia**
+
+* MathJax now works with Symbian\ :sup:`3`\ .
+
+**Opera**
+
+* Prevent Opera from using STIX fonts unless explicitly requested via the
+ font menu (since Opera can't display many of the characters).
+* Fix for bad em-size detection in 10.61.
+* Fixed a problem with the About dialog in Opera 11.
+
+
+**Safari**
+
+* Use OTF web fonts for Safari/PC.
+
+
+**WebKit**
+
+* Better version detection.
diff --git a/docs/html/_static/basic.css b/docs/html/_static/basic.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
- * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -213,6 +213,24 @@ p.rubric {
font-weight: bold;
}
+img.align-left, .figure.align-left, object.align-left {
+ clear: left;
+ float: left;
+ margin-right: 1em;
+}
+
+img.align-right, .figure.align-right, object.align-right {
+ clear: right;
+ float: right;
+ margin-left: 1em;
+}
+
+img.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
.align-left {
text-align: left;
}
@@ -395,7 +413,7 @@ dl.glossary dt {
}
.footnote:target {
- background-color: #ffa
+ background-color: #ffa;
}
.line-block {
@@ -426,6 +444,7 @@ dl.glossary dt {
pre {
overflow: auto;
+ overflow-y: hidden; /* fixes display issues on Chrome browsers */
}
td.linenos pre {
diff --git a/docs/html/_static/doctools.js b/docs/html/_static/doctools.js
@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilties for all documentation.
*
- * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/docs/html/_static/mathjax_mathml.user.js b/docs/html/_static/mathjax_mathml.user.js
@@ -6,17 +6,13 @@
// ==/UserScript==
if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
- if ((document.getElementsByTagName("math").length > 0) ||
- (document.getElementsByTagNameNS == null ? false :
- (document.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math").length > 0))) {
+ if ((document.getElementsByTagName("math").length > 0) ||
+ (document.getElementsByTagNameNS == null ? false :
+ (document.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math").length > 0))) {
var script = document.createElement("script");
- script.src = "http://www.yoursite.edu/MathJax/MathJax.js"; // put your URL here
- var config = 'MathJax.Hub.Config({' +
- 'extensions:["mml2jax.js"],' +
- 'jax:["input/MathML","output/HTML-CSS"]' +
- '});' +
- 'MathJax.Hub.Startup.onload()';
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+ var config = 'MathJax.Hub.Startup.onload()';
if (window.opera) {script.innerHTML = config} else {script.text = config}
document.getElementsByTagName("head")[0].appendChild(script);
- }
+ }
}
diff --git a/docs/html/_static/mathjax_wikipedia.user.js b/docs/html/_static/mathjax_wikipedia.user.js
@@ -9,27 +9,23 @@ if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
//
// Replace the images with MathJax scripts of type math/tex
//
- var images = document.getElementsByTagName('img');
+ var images = document.getElementsByTagName('img'), count = 0;
for (var i = images.length - 1; i >= 0; i--) {
var img = images[i];
if (img.className === "tex") {
var script = document.createElement("script"); script.type = "math/tex";
if (window.opera) {script.innerHTML = img.alt} else {script.text = img.alt}
- img.parentNode.replaceChild(script,img);
+ img.parentNode.replaceChild(script,img); count++;
}
}
- //
- // Load MathJax and have it process the page
- //
- var script = document.createElement("script");
- script.src = "http://www.yoursite.edu/MathJax/MathJax.js"; // put your URL here
- var config = 'MathJax.Hub.Config({' +
- 'config: ["MMLorHTML.js"],' +
- 'extensions:["TeX/noErrors.js","TeX/noUndefined.js",' +
- '"TeX/AMSmath.js","TeX/AMSsymbols.js"],' +
- 'jax:["input/TeX"]' +
- '});' +
- 'MathJax.Hub.Startup.onload()';
- if (window.opera) {script.innerHTML = config} else {script.text = config}
- document.getElementsByTagName("head")[0].appendChild(script);
+ if (count) {
+ //
+ // Load MathJax and have it process the page
+ //
+ var script = document.createElement("script");
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+ var config = 'MathJax.Hub.Startup.onload()';
+ if (window.opera) {script.innerHTML = config} else {script.text = config}
+ document.getElementsByTagName("head")[0].appendChild(script);
+ }
}
diff --git a/docs/html/_static/mj.css b/docs/html/_static/mj.css
@@ -5,6 +5,8 @@
@import url("basic.css");
+
+
/* -- page layout ----------------------------------------------------------- */
body {
@@ -137,8 +139,8 @@ div.body h6 {
background-color: #f2f2f2;
font-weight: normal;
color: #20435c;
- border-top: 1px solid #cccccc;
- border-bottom: 2px solid #cccccc;
+ border-top: 2px solid #cccccc;
+ border-bottom: 1px solid #cccccc;
margin: 30px -20px 20px -20px;
padding: 3px 0 3px 10px;
}
diff --git a/docs/html/_static/searchtools.js b/docs/html/_static/searchtools.js
@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilties for the full-text search.
*
- * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/docs/html/api/ajax.html b/docs/html/api/ajax.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.Message Object" href="message.html" />
<link rel="prev" title="The MathJax.Hub Object" href="hub.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -78,7 +80,7 @@ documentation for details on how to do this properly.</p>
<tt class="descname">timeout</tt></dt>
<dd><p>Number of milliseconds to wait for a file to load before
it is considered to have failed to load.</p>
-<p><em>Default:</em> 20 seconds</p>
+<p><em>Default:</em> 15 seconds</p>
</dd></dl>
<dl class="describe">
@@ -112,6 +114,14 @@ callbacks that are to be run when they load or timeout, and
additional internal data.</p>
</dd></dl>
+<dl class="describe">
+<dt>
+<tt class="descname">loadHooks</tt></dt>
+<dd><p>An object containing the load hooks for the various files, set up by
+the <a class="reference internal" href="#loadHook" title="loadHook"><tt class="xref py py-meth docutils literal"><span class="pre">loadHook()</span></tt></a> method, or by the
+<tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Register.LoadHook()</span></tt> method.</p>
+</dd></dl>
+
</div>
<div class="section" id="methods">
<h2>Methods<a class="headerlink" href="#methods" title="Permalink to this headline">¶</a></h2>
@@ -181,9 +191,9 @@ already has been loaded, or where it is to be found.</p>
file has been completely loaded and initialized. The <cite>file</cite>
parameter is the name of the file that has been loaded. This
routine will cause any callback functions registered for the file
-or included in the :meth:<tt class="docutils literal"><span class="pre">MathJax.Ajax.Require()</span></tt> calls to be
+or included in the <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Ajax.Require()</span></tt> calls to be
executed, passing them the status or the load
-(<cite>MathJax.Ajax.STATUS.OK`</cite> or <tt class="docutils literal"><span class="pre">MathJax.Ajax.STATUS.ERROR</span></tt>) as
+(<tt class="docutils literal"><span class="pre">MathJax.Ajax.STATUS.OK</span></tt> or <tt class="docutils literal"><span class="pre">MathJax.Ajax.STATUS.ERROR</span></tt>) as
their last parameter.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
@@ -271,6 +281,30 @@ that may be loaded in the future.</p>
</dd></dl>
<dl class="method">
+<dt id="Preloading">
+<tt class="descname">Preloading</tt><big>(</big><em>file1</em><span class="optional">[</span>, <em>file2...</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#Preloading" title="Permalink to this definition">¶</a></dt>
+<dd><p>Used withing combined configuration files to indicate what files are
+in the configuration file. Marks the files are loading (since there
+will never be an explicit <a class="reference internal" href="#Load" title="Load"><tt class="xref py py-meth docutils literal"><span class="pre">Load()</span></tt></a> or <a class="reference internal" href="#Require" title="Require"><tt class="xref py py-meth docutils literal"><span class="pre">Require()</span></tt></a> call for
+then), so that load-hooks and other load-related events can be
+properly processed.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Parameters :</th><td class="field-body"><ul class="first simple">
+<li><strong>file1, file2, ...</strong> — the names of the files in the combined file</li>
+</ul>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><p class="first last"><tt class="docutils literal"><span class="pre">null</span></tt></p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
<dt id="Styles">
<tt class="descname">Styles</tt><big>(</big><em>styles</em><span class="optional">[</span>, <em>callback</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#Styles" title="Permalink to this definition">¶</a></dt>
<dd><p>Creates a stylesheet from the given style data. <cite>styles</cite> can
@@ -360,11 +394,6 @@ actual root URL location).</p>
<h4>Next topic</h4>
<p class="topless"><a href="message.html"
title="next chapter">The MathJax.Message Object</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/ajax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -399,8 +428,9 @@ actual root URL location).</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/callback.html b/docs/html/api/callback.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.Callback.Queue Class" href="queue.html" />
<link rel="prev" title="The MathJax.HTML Object" href="html.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -72,7 +74,7 @@ use the <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.C
specification into a Callback object if needed.</p>
<p>A callback specification is any one of the following:</p>
<blockquote>
-<dl class="describe">
+<div><dl class="describe">
<dt>
<tt class="descname">fn</tt></dt>
<dd><p>A function that is to be called when the callback is executed.
@@ -123,7 +125,7 @@ the function as well.</p>
<p>..describe:: [“method”, object]</p>
<blockquote>
-<p>Here, <cite>object</cite> is an object that has a method called <cite>method</cite>, and
+<div><p>Here, <cite>object</cite> is an object that has a method called <cite>method</cite>, and
the callback will execute that method (with the object as
<cite>this</cite>) when it is called. For example,</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="p">[</span><span class="s2">"length"</span><span class="p">,[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">]]</span>
@@ -131,7 +133,7 @@ the callback will execute that method (with the object as
</div>
<p>would call the <cite>length</cite> method on the array <tt class="docutils literal"><span class="pre">[1,2,3,4]</span></tt> when
the callback is called, returning <tt class="docutils literal"><span class="pre">4</span></tt>.</p>
-</blockquote>
+</div></blockquote>
<dl class="describe">
<dt>
<tt class="descname">["method", object, data...]</tt></dt>
@@ -167,7 +169,7 @@ part of the global namespace. The return value is the value of
the last statement executed in the string.</p>
</dd></dl>
-</blockquote>
+</div></blockquote>
<div class="section" id="executing-a-callback-object">
<h3>Executing a Callback Object<a class="headerlink" href="#executing-a-callback-object" title="Permalink to this headline">¶</a></h3>
<p>The <cite>Callback</cite> object is itself a function, and calling that function
@@ -389,11 +391,6 @@ and returns the signal object. See
<h4>Next topic</h4>
<p class="topless"><a href="queue.html"
title="next chapter">The MathJax.Callback.Queue Class</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/callback.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -428,8 +425,9 @@ and returns the signal object. See
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/elementjax.html b/docs/html/api/elementjax.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The Base Jax Class" href="jax.html" />
<link rel="prev" title="The MathJax.OutputJax Class" href="outputjax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -67,7 +69,7 @@ that class.</p>
<h2>Class Properties<a class="headerlink" href="#class-properties" title="Permalink to this headline">¶</a></h2>
<dl class="describe">
<dt>
-<tt class="descname">name</tt></dt>
+<tt class="descname">id</tt></dt>
<dd><p>The name of the jax.</p>
</dd></dl>
@@ -89,13 +91,15 @@ that class.</p>
<dl class="describe">
<dt>
<tt class="descname">inputJax</tt></dt>
-<dd><p>A reference to the input jax that created the element.</p>
+<dd><p>A reference to the input jax that created the element. (In the
+future, this will be changed to the name of the input jax.)</p>
</dd></dl>
<dl class="describe">
<dt>
<tt class="descname">outputJax</tt></dt>
-<dd><p>A reference to the output jax that has processed this element.</p>
+<dd><p>A reference to the output jax that has processed this element. (In
+the future, this will be changed to the name of the output jax.)</p>
</dd></dl>
<dl class="describe">
@@ -114,7 +118,8 @@ collection, thus causing a memory leak.</p>
<dt>
<tt class="descname">originalText</tt></dt>
<dd><p>A string indicating the original input text that was processed for
-this element.</p>
+this element. (In the future, this may be managed by the input jax
+rather than <tt class="docutils literal"><span class="pre">MathJax.Hub</span></tt>.)</p>
</dd></dl>
<dl class="describe">
@@ -237,11 +242,6 @@ contextual menu.</p>
<h4>Next topic</h4>
<p class="topless"><a href="jax.html"
title="next chapter">The Base Jax Class</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/elementjax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -276,8 +276,9 @@ contextual menu.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/html.html b/docs/html/api/html.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.Callback Class" href="callback.html" />
<link rel="prev" title="The MathJax.Message Object" href="message.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -174,6 +176,29 @@ provided. It is equivalent to</p>
</table>
</dd></dl>
+<dl class="method">
+<dt id="setText">
+<tt class="descname">setText</tt><big>(</big><em>script</em>, <em>text</em><big>)</big><a class="headerlink" href="#setText" title="Permalink to this definition">¶</a></dt>
+<dd><p>Sets the contents of the <tt class="docutils literal"><span class="pre">script</span></tt> element to be the given
+<tt class="docutils literal"><span class="pre">text</span></tt>, properly taking into account the browser limitations and
+bugs.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Parameters :</th><td class="field-body"><ul class="first simple">
+<li><strong>script</strong> — the script whose content is to be set</li>
+<li><strong>text</strong> — the text that is to be the script’s new content</li>
+</ul>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><p class="first last"><tt class="docutils literal"><span class="pre">null</span></tt></p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
<dl class="describe">
<dt>
<tt class="descname">Cookie.Set(name,data)</tt></dt>
@@ -183,7 +208,7 @@ the <cite>data</cite> object as the data for the cookie. For example,</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">HTML</span><span class="p">.</span><span class="nx">Cookie</span><span class="p">.</span><span class="nx">Set</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,{</span><span class="nx">x</span><span class="o">:</span><span class="mi">42</span><span class="p">,</span> <span class="nx">y</span><span class="o">:</span><span class="s2">"It Works!"</span><span class="p">});</span>
</pre></div>
</div>
-<p>will create a cookie named “mjx:test” that stores the values of
+<p>will create a cookie named “mjx.test” that stores the values of
<tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> provided in the <cite>data</cite> object. This data can be
retrieved using the <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.HTML.Cookie.Get()</span></tt> method
discussed below.</p>
@@ -246,11 +271,6 @@ above,</p>
<h4>Next topic</h4>
<p class="topless"><a href="callback.html"
title="next chapter">The MathJax.Callback Class</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/html.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -285,8 +305,9 @@ above,</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/hub.html b/docs/html/api/hub.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.Ajax Object" href="ajax.html" />
<link rel="prev" title="The MathJax variable" href="variable.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -75,7 +77,7 @@ Options</em></a> reference page.</p>
<dl class="describe">
<dt>
-<tt class="descname">processUpdateTime: 500</tt></dt>
+<tt class="descname">processUpdateTime: 250</tt></dt>
<dd><p>The minimum time (in milliseconds) between updates of the
“Processing Math” message.</p>
</dd></dl>
@@ -89,6 +91,13 @@ Options</em></a> reference page.</p>
<dl class="describe">
<dt>
+<tt class="descname">queue</tt></dt>
+<dd><p>MathJax’s main processing queue. Use <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Queue()</span></tt> to push
+callbacks onto this queue.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt>
<tt class="descname">Browser</tt></dt>
<dd><p>The name of the browser as determined by MathJax. It will be one
of <tt class="docutils literal"><span class="pre">Firefox</span></tt>, <tt class="docutils literal"><span class="pre">Safari</span></tt>, <tt class="docutils literal"><span class="pre">Chrome</span></tt>, <tt class="docutils literal"><span class="pre">Opera</span></tt>, <tt class="docutils literal"><span class="pre">MSIE</span></tt>,
@@ -160,7 +169,7 @@ need to do special processing. For example:</p>
<tt class="descname">Config</tt><big>(</big><em>options</em><big>)</big><a class="headerlink" href="#Config" title="Permalink to this definition">¶</a></dt>
<dd><p>Sets the configuration options (stored in <tt class="docutils literal"><span class="pre">MathJax.Hub.config</span></tt>)
to the values stored in the <cite>options</cite> object. See
-<a class="reference internal" href="../configuration.html#configuration"><em>Configuring MathJax</em></a> for details on how this
+<a class="reference internal" href="../options/index.html#configuration"><em>Configuring MathJax</em></a> for details on how this
is used and the options that you can set.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
@@ -180,6 +189,22 @@ is used and the options that you can set.</p>
<dl class="describe">
<dt>
+<tt class="descname">Configured()</tt></dt>
+<dd><p>When <tt class="docutils literal"><span class="pre">delayStartupUntil</span></tt> is specified in the configuration file or
+in the script that loads <tt class="docutils literal"><span class="pre">MathJax.js</span></tt>, MathJax’s startup sequence is
+delayed until this routine is called. See <a class="reference internal" href="../options/index.html#configuration"><em>Configuring MathJax</em></a> for details on how this is used.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><tt class="docutils literal"><span class="pre">null</span></tt></td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="describe">
+<dt>
<tt class="descname">Register.PreProcessor(callback)</tt></dt>
<dd><p>Used by preprocessors to register themselves with MathJax so that
they will be called during the <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.PreProcess()</span></tt>
@@ -628,11 +653,6 @@ error on the page.</p>
<h4>Next topic</h4>
<p class="topless"><a href="ajax.html"
title="next chapter">The MathJax.Ajax Object</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/hub.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -667,8 +687,9 @@ error on the page.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/index.html b/docs/html/api/index.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="next" title="The MathJax variable" href="variable.html" />
<link rel="prev" title="Modifying Math on the Page" href="../typeset.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -99,11 +101,6 @@ on the main MathJax documentation page.</p>
<h4>Next topic</h4>
<p class="topless"><a href="variable.html"
title="next chapter">The MathJax variable</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/index.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -137,8 +134,9 @@ on the main MathJax documentation page.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/inputjax.html b/docs/html/api/inputjax.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.OutputJax Class" href="outputjax.html" />
<link rel="prev" title="The MathJax.Callback.Signal Class" href="signal.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -77,7 +79,7 @@ that class.</p>
<h2>Properties<a class="headerlink" href="#properties" title="Permalink to this headline">¶</a></h2>
<dl class="describe">
<dt>
-<tt class="descname">name</tt></dt>
+<tt class="descname">id</tt></dt>
<dd><p>The name of the jax.</p>
</dd></dl>
@@ -93,21 +95,25 @@ that class.</p>
<dd><p>The directory where the jax files are stored (e.g., <tt class="docutils literal"><span class="pre">"[MathJax]/jax/input/TeX"</span></tt>);</p>
</dd></dl>
+<dl class="describe">
+<dt>
+<tt class="descname">elementJax</tt></dt>
+<dd><p>The name of the ElementJax class that this input jax will produce
+(typically <tt class="docutils literal"><span class="pre">mml</span></tt>, as that is the only ElementJax at the moment).</p>
+</dd></dl>
+
</div>
<div class="section" id="methods">
<h2>Methods<a class="headerlink" href="#methods" title="Permalink to this headline">¶</a></h2>
<dl class="method">
<dt>
<tt class="descname">Translate</tt><big>(</big><em>script</em><big>)</big></dt>
-<dd><p>This is the main routine called by MathJax when a <tt class="docutils literal"><span class="pre"><script></span></tt> of
-the appropriate type is found. The default <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a>
-method simply loads the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file and returns that callback
-for that load function so that MathJax will know when to try
-the <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> action again. When the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file
-loads, it should override the default <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> with its
-own version that does the actual translation; that way, when the
-second Translate call is made, it will be to the actual
-translation routine rather than the default loader.</p>
+<dd><p>This is the main routine called by MathJax when a <tt class="docutils literal"><span class="pre"><script></span></tt> of the
+appropriate type is found. The default <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> method
+throws an error indicating that <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> hasn’t been
+redefined, so when the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file loads, it should override the
+default <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> with its own version that does the actual
+translation.</p>
<p>The translation process should include the creation of an
<a class="reference internal" href="elementjax.html#api-element-jax"><em>Element Jax</em></a> that stores the data needed
for this element.</p>
@@ -175,11 +181,6 @@ of the various types from one another.</p>
<h4>Next topic</h4>
<p class="topless"><a href="outputjax.html"
title="next chapter">The MathJax.OutputJax Class</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/inputjax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -214,8 +215,9 @@ of the various types from one another.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/jax.html b/docs/html/api/jax.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax Object-Oriented Programming Model" href="object.html" />
<link rel="prev" title="The MathJax.ElementJax Class" href="elementjax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -58,7 +60,7 @@ other jax classes.</p>
<p>Unlike most MathJax.Object classes, calling the class object creates a
<em>subclass</em> of the class, rather than an instance of the class. E.g.,</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">InputJax</span><span class="p">.</span><span class="nx">MyInputJax</span> <span class="o">=</span> <span class="nx">MathJax</span><span class="p">.</span><span class="nx">InputJax</span><span class="p">({</span>
- <span class="nx">name</span><span class="o">:</span> <span class="s2">"MyInputJax"</span><span class="p">,</span>
+ <span class="nx">id</span><span class="o">:</span> <span class="s2">"MyInputJax"</span><span class="p">,</span>
<span class="nx">version</span><span class="o">:</span> <span class="s2">"1.0"</span><span class="p">,</span>
<span class="p">...</span>
<span class="p">});</span>
@@ -86,7 +88,7 @@ other jax classes.</p>
<h2>Instance Properties<a class="headerlink" href="#instance-properties" title="Permalink to this headline">¶</a></h2>
<dl class="describe">
<dt>
-<tt class="descname">name</tt></dt>
+<tt class="descname">id</tt></dt>
<dd><p>The name of the jax.</p>
</dd></dl>
@@ -121,16 +123,16 @@ configuration subsection for the specific jax in question.</p>
<div class="section" id="methods">
<h2>Methods<a class="headerlink" href="#methods" title="Permalink to this headline">¶</a></h2>
<dl class="method">
-<dt id="Translate">
-<tt class="descname">Translate</tt><big>(</big><em>script</em><big>)</big><a class="headerlink" href="#Translate" title="Permalink to this definition">¶</a></dt>
-<dd><p>This is the method that the <tt class="docutils literal"><span class="pre">MathJax.Hub</span></tt> calls when it needs
-the input or output jax to process the given math <tt class="docutils literal"><span class="pre"><script></span></tt>
-call. Its default action is to start loading the jax’s <tt class="docutils literal"><span class="pre">jax.js</span></tt>
-file, and redefine the <a class="reference internal" href="#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> method to be the
-<a class="reference internal" href="#noTranslate" title="noTranslate"><tt class="xref py py-meth docutils literal"><span class="pre">noTranslate()</span></tt></a> method below. The <tt class="docutils literal"><span class="pre">jax.js</span></tt> file should
-redefine the <a class="reference internal" href="#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> method to perform the translation
-operation for the specific jax. For an input jax, it should
-return the <cite>ElementJax</cite> object that it created.</p>
+<dt>
+<tt class="descname">Process</tt><big>(</big><em>script</em><big>)</big></dt>
+<dd><p>This is the method that the <tt class="docutils literal"><span class="pre">MathJax.Hub</span></tt> calls when it needs the
+input or output jax to process the given math <tt class="docutils literal"><span class="pre"><script></span></tt>. Its
+default action is to start loading the jax’s <tt class="docutils literal"><span class="pre">jax.js</span></tt> file, and
+redefine itself to simplu return the callback for the laod operation
+(so that further calls to it will cause the processing to wait for the
+callback). Once the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file has loaded, this method is
+replaced by the jax’s <a class="reference internal" href="#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> method, so that subsequent calls
+to <a class="reference internal" href="hub.html#Process" title="Process"><tt class="xref py py-meth docutils literal"><span class="pre">Process()</span></tt></a> will perform the appropriate translation.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
@@ -153,14 +155,19 @@ return the <cite>ElementJax</cite> object that it created.</p>
</dd></dl>
<dl class="method">
-<dt id="noTranslate">
-<tt class="descname">noTranslate</tt><big>(</big><em>script</em><big>)</big><a class="headerlink" href="#noTranslate" title="Permalink to this definition">¶</a></dt>
-<dd><p>This is a temporary routine that is used while the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file
-is loading. It throws an error indicating the the
-<a class="reference internal" href="#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> method hasn’t been redefined. That way, if
-the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file failes to load for some reason, you will
-receive an error trying to process mathematics with this input
-jax.</p>
+<dt id="Translate">
+<tt class="descname">Translate</tt><big>(</big><em>script</em><big>)</big><a class="headerlink" href="#Translate" title="Permalink to this definition">¶</a></dt>
+<dd><p>This is a stub for a routine that should be defined by the jax’s
+<tt class="docutils literal"><span class="pre">jax.js</span></tt> file when it is loaded. It should perform the translation
+action for the specific jax. For an input jax, it should return the
+<cite>ElementJax</cite> object that it created. The <a class="reference internal" href="#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> mehtod is
+never called directly by MathJax; during the <a class="reference internal" href="ajax.html#loadComplete" title="loadComplete"><tt class="xref py py-meth docutils literal"><span class="pre">loadComplete()</span></tt></a>
+call, this funciton is copied to the <a class="reference internal" href="hub.html#Process" title="Process"><tt class="xref py py-meth docutils literal"><span class="pre">Process()</span></tt></a> method, and is
+called via that name. The default <a class="reference internal" href="#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> method throws an
+error indicating that the <a class="reference internal" href="#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> meth was not been
+redefined. That way, if the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file fails to load for some
+reason, you will receive an error trying to process mathematics with
+this jax.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
@@ -175,7 +182,7 @@ jax.</p>
</ul>
</td>
</tr>
-<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><p class="first last"><tt class="docutils literal"><span class="pre">null</span></tt></p>
+<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><p class="first last">an <cite>ElementJax</cite> object, or <tt class="docutils literal"><span class="pre">null</span></tt></p>
</td>
</tr>
</tbody>
@@ -233,19 +240,23 @@ MathJax. For <tt class="docutils literal"><span class="pre">config.js</span></t
file. For <tt class="docutils literal"><span class="pre">jax.js</span></tt>, the actions performed here are the
following:</p>
<blockquote>
-<ol class="arabic simple">
+<div><ol class="arabic simple">
<li>Post the “[name] Jax Config” message to the startup signal.</li>
<li>Perform the jax’s <a class="reference internal" href="hub.html#Config" title="Config"><tt class="xref py py-meth docutils literal"><span class="pre">Config()</span></tt></a> method.</li>
<li>Post the “[name] Jax Require” message to the startup signal.</li>
-<li>Load the files from the jax’s <tt class="docutils literal"><span class="pre">require</span></tt> array (which may
-have been modified during the configuration process).</li>
+<li>Load the files from the jax’s <tt class="docutils literal"><span class="pre">require</span></tt> and
+<tt class="docutils literal"><span class="pre">config.extensions</span></tt> arrays.</li>
<li>Post the “[name] Jax Startup” message to the startup signal.</li>
<li>Perform the jax’s <a class="reference internal" href="#Startup" title="Startup"><tt class="xref py py-meth docutils literal"><span class="pre">Startup()</span></tt></a> method.</li>
<li>Post the “[name] Jax Ready” message to the startup signal.</li>
<li>perform the <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Ajax.loadComplete()</span></tt> call for the
<tt class="docutils literal"><span class="pre">jax.js</span></tt> file.</li>
</ol>
-</blockquote>
+</div></blockquote>
+<p>Note that the configuration process (the <a class="reference internal" href="hub.html#Config" title="Config"><tt class="xref py py-meth docutils literal"><span class="pre">Config()</span></tt></a> call) can
+modify the <tt class="docutils literal"><span class="pre">require</span></tt> or <tt class="docutils literal"><span class="pre">config.extensions</span></tt> arrays to add more
+files that need to be loaded, and that the <a class="reference internal" href="#Startup" title="Startup"><tt class="xref py py-meth docutils literal"><span class="pre">Startup()</span></tt></a> method
+isn’t called until those files are completely loaded.</p>
</dd></dl>
</div>
@@ -273,11 +284,6 @@ have been modified during the configuration process).</li>
<h4>Next topic</h4>
<p class="topless"><a href="object.html"
title="next chapter">The MathJax Object-Oriented Programming Model</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/jax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -312,8 +318,9 @@ have been modified during the configuration process).</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/message.html b/docs/html/api/message.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.HTML Object" href="html.html" />
<link rel="prev" title="The MathJax.Ajax Object" href="ajax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -111,7 +113,7 @@ removed automatically; you must call the
</ul>
</td>
</tr>
-<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><p class="first last">the message id nuber for this message.</p>
+<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><p class="first last">the message id number for this message.</p>
</td>
</tr>
</tbody>
@@ -141,6 +143,69 @@ removed automatically; you must call the
</dd></dl>
<dl class="method">
+<dt id="Remove">
+<tt class="descname">Remove</tt><big>(</big><big>)</big><a class="headerlink" href="#Remove" title="Permalink to this definition">¶</a></dt>
+<dd><p>This removes the message frame from the window (it will reappear when
+future messages are set, however).</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><tt class="docutils literal"><span class="pre">null</span></tt></td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="File">
+<tt class="descname">File</tt><big>(</big><em>file</em><big>)</big><a class="headerlink" href="#File" title="Permalink to this definition">¶</a></dt>
+<dd><p>This sets the message area to a “Loading <em>file</em>” message, where <em>file</em>
+is the name of the file (with <tt class="docutils literal"><span class="pre">[MathJax]</span></tt> representing the root
+directory).</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Parameters :</th><td class="field-body"><ul class="first simple">
+<li><strong>file</strong> — the name of the file being loaded.</li>
+</ul>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><p class="first last">the message id number for the message created.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="filterText">
+<tt class="descname">filterText</tt><big>(</big><em>text</em>, <em>n</em><big>)</big><a class="headerlink" href="#filterText" title="Permalink to this definition">¶</a></dt>
+<dd><p>This method is called on each message before it is displayed. It can
+be used to modify (e.g., shorten) the various messages before they are
+displayed. The default action is to check of the <tt class="docutils literal"><span class="pre">messageStyle</span></tt>
+configuration parameter is <tt class="docutils literal"><span class="pre">simple</span></tt>, and if so, convert loading and
+processing messages to a simpler form. This method can be overridden
+to perform other sanitization of the message strings.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Parameters :</th><td class="field-body"><ul class="first simple">
+<li><strong>text</strong> — the text of the message to be posted</li>
+<li><strong>n</strong> — the id number of the message to be posted</li>
+</ul>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Returns :</th><td class="field-body"><p class="first last">the modified message text</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
<dt id="Log">
<tt class="descname">Log</tt><big>(</big><big>)</big><a class="headerlink" href="#Log" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a string of all the messages issued so far, separated by
@@ -178,11 +243,6 @@ newlines. This is used in debugging MathJax operations.</p>
<h4>Next topic</h4>
<p class="topless"><a href="html.html"
title="next chapter">The MathJax.HTML Object</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/message.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -217,8 +277,9 @@ newlines. This is used in debugging MathJax operations.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/object.html b/docs/html/api/object.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
- <link rel="next" title="Converting to MathJax from jsMath" href="../jsMath.html" />
+ <link rel="next" title="Describing HTML snippets" href="../HTML-snippets.html" />
<link rel="prev" title="The Base Jax Class" href="jax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -34,7 +36,7 @@
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="../jsMath.html" title="Converting to MathJax from jsMath"
+ <a href="../HTML-snippets.html" title="Describing HTML snippets"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="jax.html" title="The Base Jax Class"
@@ -308,13 +310,8 @@ wrapping the <cite>def</cite> for the <a class="reference internal" href="#Subcl
<p class="topless"><a href="jax.html"
title="previous chapter">The Base Jax Class</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="../jsMath.html"
- title="next chapter">Converting to MathJax from jsMath</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/object.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
+ <p class="topless"><a href="../HTML-snippets.html"
+ title="next chapter">Describing HTML snippets</a></p>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -339,7 +336,7 @@ wrapping the <cite>def</cite> for the <a class="reference internal" href="#Subcl
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="../jsMath.html" title="Converting to MathJax from jsMath"
+ <a href="../HTML-snippets.html" title="Describing HTML snippets"
>next</a> |</li>
<li class="right" >
<a href="jax.html" title="The Base Jax Class"
@@ -349,8 +346,9 @@ wrapping the <cite>def</cite> for the <a class="reference internal" href="#Subcl
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/outputjax.html b/docs/html/api/outputjax.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.ElementJax Class" href="elementjax.html" />
<link rel="prev" title="The MathJax.InputJax Class" href="inputjax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -78,7 +80,7 @@ that class.</p>
<h2>Properties<a class="headerlink" href="#properties" title="Permalink to this headline">¶</a></h2>
<dl class="describe">
<dt>
-<tt class="descname">name</tt></dt>
+<tt class="descname">id</tt></dt>
<dd><p>The name of the jax.</p>
</dd></dl>
@@ -102,15 +104,12 @@ that class.</p>
<tt class="descname">Translate</tt><big>(</big><em>script</em><big>)</big></dt>
<dd><p>This is the main routine called by MathJax when an element jax is
to be converted to output. The default <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a>
-method simply loads the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file and returns that callback
-for that load function so that MathJax will know when to try
-the <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> action again. When the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file
-loads, it should override the default <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> with its
-own version that does the actual translation; that way, when the
-second Translate call is made, it will be to the actual
-translation routine rather than the default loader.</p>
+method throws an error indicating that <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> hasn’t been
+redefined, so when the <tt class="docutils literal"><span class="pre">jax.js</span></tt> file loads, it should override the
+default <a class="reference internal" href="jax.html#Translate" title="Translate"><tt class="xref py py-meth docutils literal"><span class="pre">Translate()</span></tt></a> with its own version that does the actual
+translation.</p>
<p>You should use <tt class="docutils literal"><span class="pre">MathJax.Hub.getJaxFor(script)</span></tt> to obtain the
-element jax for the given script. The translation process may add
+element jax for the given script. The translation process may
modify the element jax (e.g., if it has data that needs to be
stored with the jax), and may insert DOM elements into the
document near the jax’s <tt class="docutils literal"><span class="pre"><script></span></tt> tag.</p>
@@ -200,11 +199,6 @@ tag associated with the element jax.</p>
<h4>Next topic</h4>
<p class="topless"><a href="elementjax.html"
title="next chapter">The MathJax.ElementJax Class</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/outputjax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -239,8 +233,9 @@ tag associated with the element jax.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/queue.html b/docs/html/api/queue.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.Callback.Signal Class" href="signal.html" />
<link rel="prev" title="The MathJax.Callback Class" href="callback.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -119,9 +121,9 @@ synchronization, say as an entry in some other queue).</p>
<dt>
<tt class="descname">Process</tt><big>(</big><big>)</big></dt>
<dd><blockquote>
-Process the commands in the queue, provided the queue is not
+<div>Process the commands in the queue, provided the queue is not
waiting for another command to complete. This method is used
-internally; you should not need to call it yourself.</blockquote>
+internally; you should not need to call it yourself.</div></blockquote>
</dd></dl>
<dl class="method">
@@ -201,11 +203,6 @@ it has been waiting for a command to complete.</p>
<h4>Next topic</h4>
<p class="topless"><a href="signal.html"
title="next chapter">The MathJax.Callback.Signal Class</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/queue.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -240,8 +237,9 @@ it has been waiting for a command to complete.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/signal.html b/docs/html/api/signal.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.InputJax Class" href="inputjax.html" />
<link rel="prev" title="The MathJax.Callback.Queue Class" href="queue.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -288,11 +290,6 @@ message is posted to the signal.</p>
<h4>Next topic</h4>
<p class="topless"><a href="inputjax.html"
title="next chapter">The MathJax.InputJax Class</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/signal.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -327,8 +324,9 @@ message is posted to the signal.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/api/variable.html b/docs/html/api/variable.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="The MathJax API" href="index.html" />
<link rel="next" title="The MathJax.Hub Object" href="hub.html" />
<link rel="prev" title="The MathJax API" href="index.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -174,11 +176,6 @@ perform typesetting actions (and is <tt class="docutils literal"><span class="pr
<h4>Next topic</h4>
<p class="topless"><a href="hub.html"
title="next chapter">The MathJax.Hub Object</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/api/variable.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -213,8 +210,9 @@ perform typesetting actions (and is <tt class="docutils literal"><span class="pr
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/callbacks.html b/docs/html/callbacks.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="up" title="Synchronizing your code with MathJax" href="synchronize.html" />
<link rel="next" title="Using Queues" href="queues.html" />
<link rel="prev" title="Synchronizing your code with MathJax" href="synchronize.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -259,11 +261,6 @@ schedules it to be called in half a second.</p>
<h4>Next topic</h4>
<p class="topless"><a href="queues.html"
title="next chapter">Using Queues</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/callbacks.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -298,8 +295,9 @@ schedules it to be called in half a second.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/community.html b/docs/html/community.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
- <link rel="next" title="The MathJax Processing Model" href="model.html" />
+ <link rel="next" title="What’s New in MathJax v1.1" href="whats-new.html" />
<link rel="prev" title="MathJax Output Formats" href="output.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -33,7 +35,7 @@
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="model.html" title="The MathJax Processing Model"
+ <a href="whats-new.html" title="What’s New in MathJax v1.1"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="output.html" title="MathJax Output Formats"
@@ -74,11 +76,11 @@ our groups.</p>
</div>
<div class="section" id="issue-tracking">
<span id="community-tracker"></span><h2>Issue tracking<a class="headerlink" href="#issue-tracking" title="Permalink to this headline">¶</a></h2>
-<p>Found a bug or want to suggest an improvement? Post it to our <a class="reference external" href="http://github.com/mathjax/mathjax/issues">issue tracker</a>. We monitor the tracker closely,
+<p>Found a bug or want to suggest an improvement? Post it to our <a class="reference external" href="http://github.com/mathjax/MathJax/issues">issue tracker</a>. We monitor the tracker closely,
and work hard to respond to problems quickly.</p>
<p>Before you create a new issue, however, please search the issues to see if it
has already been reported. You could also be using an outdated version of
-MathJax, so be sure to <a class="reference internal" href="installation.html#getting-mathjax-svn"><em>upgrade your copy</em></a> to verify
+MathJax, so be sure to <a class="reference internal" href="installation.html#getting-mathjax-git"><em>upgrade your copy</em></a> to verify
that the problem persists in the lastest version.</p>
</div>
<div class="section" id="powered-by-mathjax">
@@ -108,13 +110,8 @@ our <a class="reference external" href="http://www.mathjax.org/community/mathjax
<p class="topless"><a href="output.html"
title="previous chapter">MathJax Output Formats</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="model.html"
- title="next chapter">The MathJax Processing Model</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/community.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
+ <p class="topless"><a href="whats-new.html"
+ title="next chapter">What’s New in MathJax v1.1</a></p>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -139,7 +136,7 @@ our <a class="reference external" href="http://www.mathjax.org/community/mathjax
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="model.html" title="The MathJax Processing Model"
+ <a href="whats-new.html" title="What’s New in MathJax v1.1"
>next</a> |</li>
<li class="right" >
<a href="output.html" title="MathJax Output Formats"
@@ -148,8 +145,9 @@ our <a class="reference external" href="http://www.mathjax.org/community/mathjax
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/config-files.html b/docs/html/config-files.html
@@ -0,0 +1,276 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Common Configurations — MathJax v1.1 documentation</title>
+ <link rel="stylesheet" href="_static/mj.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.1',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
+ <link rel="top" title="MathJax v1.1 documentation" href="index.html" />
+ <link rel="next" title="Configuration Objects" href="options/index.html" />
+ <link rel="prev" title="Loading and Configuring MathJax" href="configuration.html" />
+ </head>
+ <body>
+
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="options/index.html" title="Configuration Objects"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="configuration.html" title="Loading and Configuring MathJax"
+ accesskey="P">previous</a> |</li>
+ <li><a href="index.html">MathJax v1.1 documentation</a> »</li>
+ </ul>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="common-configurations">
+<span id="id1"></span><h1>Common Configurations<a class="headerlink" href="#common-configurations" title="Permalink to this headline">¶</a></h1>
+<p>MathJax comes with a number of pre-defined configuration files in the
+<tt class="docutils literal"><span class="pre">MathJax/config</span></tt> directory. The <tt class="docutils literal"><span class="pre">default.js</span></tt> file contains nearly all
+the possible configuration options together with comments explaining them,
+so you can use that file to customize MathJax to your needs. Simply load
+it via</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js?config=default"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>where <tt class="docutils literal"><span class="pre">path-to-MathJax</span></tt> is the URL to the MathJax directory on your
+server or hard disk.</p>
+<p>The remaining files are combined configuration files that include not just
+configuration parameters but also the files that MathJax would need to
+load for those configurations. This means MathJax will have to load fewer
+files, and since each file access requires establishing connections over
+the network, it can be better to load one larger file than several smaller
+ones. See <a class="reference internal" href="configuration.html#loading"><em>Loading and Configuring MathJax</em></a> for more
+details about how to load configurations, and how to modify the parameters
+for a configuration file.</p>
+<p>The following sections describe the contents of the combined configuration
+files. Each comes in two flavors: a standard version and a “full” version.
+The standard version simply defines the output processor(s) that are part
+of the configuration, but doesn’t load the code that implements the output
+processor; the full version loads the complete output processors, so
+everything that MathJax needs for the page should be loaded up front, and
+there will be no delay once the page is ready to be processed. To obtain
+the “full” version, add <tt class="docutils literal"><span class="pre">-full</span></tt> to the end of the configuration file
+name.</p>
+<div class="section" id="the-tex-ams-mml-htmlormml-configuration-file">
+<h2>The <tt class="docutils literal"><span class="pre">TeX-AMS-MML_HTMLorMML</span></tt> configuration file<a class="headerlink" href="#the-tex-ams-mml-htmlormml-configuration-file" title="Permalink to this headline">¶</a></h2>
+<p>This configuration file is the most general of the pre-defined
+configurations. It loads all the important MathJax components, including
+the TeX and MathML preprocessors and input processors, the AMSmath,
+AMSsymbols, noErrors, and noUndefined TeX extensions, both the native
+MathML and HTML-with-CSS output processor definitions, and the MathMenu and
+MathZoom extensions. It is equivalent to the following configuration:</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">config</span><span class="o">:</span> <span class="p">[</span><span class="s2">"MMLorHTML.js"</span><span class="p">],</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"input/MathML"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">,</span><span class="s2">"output/NativeMML"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">,</span><span class="s2">"mml2jax.js"</span><span class="p">,</span><span class="s2">"MathMenu.js"</span><span class="p">,</span><span class="s2">"MathZoom.js"</span><span class="p">],</span>
+ <span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"AMSmath.js"</span><span class="p">,</span><span class="s2">"AMSsymbols.js"</span><span class="p">,</span><span class="s2">"noErrors.js"</span><span class="p">,</span><span class="s2">"noUndefined.js"</span><span class="p">]</span>
+ <span class="p">}</span>
+<span class="p">});</span>
+</pre></div>
+</div>
+<p>In addition, it loads the mml Element Jax, the TeX and MathML input jax
+main code (not just the definition files), as well as the <cite>toMathML</cite>
+extension, which is used by the Show Source option in the MathJax
+contextual menu. The full version also loads both the HTML-CSS and
+NativeMML output jax main code, plus the HTML-CSS <cite>mtable</cite> extension, which
+is normally loaded on demand.</p>
+<p>See the <a class="reference internal" href="options/tex2jax.html#configure-tex2jax"><em>tex2jax configuration</em></a> section for
+other configuration options for the <tt class="docutils literal"><span class="pre">tex2jax</span></tt> preprocessor, and the
+<a class="reference internal" href="options/TeX.html#configure-tex"><em>TeX input jax configuration</em></a> section for options
+that control the TeX input processor.
+See the <a class="reference internal" href="options/mml2jax.html#configure-mml2jax"><em>mml2jax configuration</em></a> section for
+other configuration options for the <tt class="docutils literal"><span class="pre">mml2jax</span></tt> preprocessor, and the
+<a class="reference internal" href="options/MathML.html#configure-mathml"><em>MathML input jax configuration</em></a> section for
+options that control the MathML input processor.
+See <a class="reference internal" href="output.html#output-formats"><em>MathJax Output Formats</em></a> for more
+information on the NativeMML and HTML-CSS output processors. See the
+<a class="reference internal" href="options/MMLorHTML.html#configure-mmlorhtml"><em>MMLorHTML configuration</em></a> section for
+details on the options that control the <tt class="docutils literal"><span class="pre">MMLorHTML</span></tt> configuration.</p>
+</div>
+<div class="section" id="the-tex-ams-html-configuration-file">
+<h2>The <tt class="docutils literal"><span class="pre">TeX-AMS_HTML</span></tt> configuration file<a class="headerlink" href="#the-tex-ams-html-configuration-file" title="Permalink to this headline">¶</a></h2>
+<p>This configuration file is for sites that only use TeX format for their
+mathematics, and that want the output to be as close to TeX output as
+possible. This uses the HTML-CSS output jax (even when the user’s browser
+understands MathML). The user can still use the MathJax contextual menu
+to select the NativeMML output jax if they desire.</p>
+<p>This file includes all the important MathJax components for TeX input and
+output, including the <cite>tex2jax</cite> preprocessor and TeX input jax, the
+AMSmath, AMSsymbols, noErrors, and noUndefined TeX extensions, the
+HTML-with-CSS output processor definition, and the MathMenu and MathZoom
+extensions. It is equivalent to the following configuration:</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">,</span><span class="s2">"MathMenu.js"</span><span class="p">,</span><span class="s2">"MathZoom.js"</span><span class="p">],</span>
+ <span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"AMSmath.js"</span><span class="p">,</span><span class="s2">"AMSsymbols.js"</span><span class="p">,</span><span class="s2">"noErrors.js"</span><span class="p">,</span><span class="s2">"noUndefined.js"</span><span class="p">]</span>
+ <span class="p">}</span>
+<span class="p">});</span>
+</pre></div>
+</div>
+<p>In addition, it loads the mml Element Jax and the TeX input jax main code
+(not just the definition file), as well as the <cite>toMathML</cite> extension, which
+is used by the Show Source option in the MathJax contextual menu. The full
+version also loads the HTML-CSS output jax main code, plus the HTML-CSS
+<cite>mtable</cite> extension, which is normally loaded on demand.</p>
+<p>See the <a class="reference internal" href="options/tex2jax.html#configure-tex2jax"><em>tex2jax configuration</em></a> section for
+other configuration options for the <tt class="docutils literal"><span class="pre">tex2jax</span></tt> preprocessor, and the
+<a class="reference internal" href="options/TeX.html#configure-tex"><em>TeX input jax configuration</em></a> section for options
+that control the TeX input processor.
+See <a class="reference internal" href="output.html#output-formats"><em>MathJax Output Formats</em></a> for more
+information on the HTML-CSS output processor.</p>
+</div>
+<div class="section" id="the-mml-htmlormml-configuration-file">
+<h2>The <tt class="docutils literal"><span class="pre">MML_HTMLorMML</span></tt> configuration file<a class="headerlink" href="#the-mml-htmlormml-configuration-file" title="Permalink to this headline">¶</a></h2>
+<p>This configuration file is for sites that only use MathML format for their
+mathematics. It will use MathML output in browsers where that is
+supported, and HTML-CSS output otherwise. The user can still use the
+MathJax contextual menu to select the other output format if they desire.</p>
+<p>This file includes all the important MathJax components for MathML input
+and output, including the <cite>mml2jax</cite> preprocessor and MathML input jax, the
+NativeMML and HTML-CSS output processor definition files, and the MathMenu
+and MathZoom extensions. It is equivalent to the following configuration:</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">config</span><span class="o">:</span> <span class="p">[</span><span class="s2">"MMLorHTML.js"</span><span class="p">],</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/MathML"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">,</span><span class="s2">"output/NativeMML"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"mml2jax.js"</span><span class="p">,</span><span class="s2">"MathMenu.js"</span><span class="p">,</span><span class="s2">"MathZoom.js"</span><span class="p">]</span>
+<span class="p">});</span>
+</pre></div>
+</div>
+<p>In addition, it loads the mml Element Jax and the MathML input jax main
+code (not just the definition file), as well as the <cite>toMathML</cite> extension,
+which is used by the Show Source option in the MathJax contextual menu.
+The full version also loads both the HTML-CSS and NativeMML output jax main
+code files, plus the HTML-CSS <cite>mtable</cite> extension, which is normally loaded
+on demand.</p>
+<p>See the <a class="reference internal" href="options/mml2jax.html#configure-mml2jax"><em>mml2jax configuration</em></a> section for
+other configuration options for the <tt class="docutils literal"><span class="pre">mml2jax</span></tt> preprocessor, and the
+<a class="reference internal" href="options/MathML.html#configure-mathml"><em>MathML input jax configuration</em></a> section for
+options that control the MathML input processor.
+See <a class="reference internal" href="output.html#output-formats"><em>MathJax Output Formats</em></a> for more
+information on the NativeMML and HTML-CSS output processors. See the
+<a class="reference internal" href="options/MMLorHTML.html#configure-mmlorhtml"><em>MMLorHTML configuration</em></a> section for
+details on the options that control the <tt class="docutils literal"><span class="pre">MMLorHTML</span></tt> configuration.</p>
+</div>
+<div class="section" id="the-accessible-configuration-file">
+<h2>The <tt class="docutils literal"><span class="pre">Accessible</span></tt> configuration file<a class="headerlink" href="#the-accessible-configuration-file" title="Permalink to this headline">¶</a></h2>
+<p>This configuration file is essentially the same as
+<tt class="docutils literal"><span class="pre">TeX-AMS-MML_HTMLorMML</span></tt> except that it includes configuration that is
+designed for assitive technology, particularly for those with visual
+challenges. It is equivalent to the following configuration:</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">config</span><span class="o">:</span> <span class="p">[</span><span class="s2">"MMLorHTML.js"</span><span class="p">],</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"input/MathML"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">,</span><span class="s2">"output/NativeMML"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">,</span><span class="s2">"mml2jax.js"</span><span class="p">,</span><span class="s2">"MathMenu.js"</span><span class="p">,</span><span class="s2">"MathZoom.js"</span><span class="p">],</span>
+ <span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"AMSmath.js"</span><span class="p">,</span><span class="s2">"AMSsymbols.js"</span><span class="p">,</span><span class="s2">"noErrors.js"</span><span class="p">,</span><span class="s2">"noUndefined.js"</span><span class="p">]</span>
+ <span class="p">},</span>
+ <span class="nx">NativeMML</span><span class="o">:</span> <span class="p">{</span> <span class="nx">showMathMenuMSIE</span><span class="o">:</span> <span class="kc">false</span> <span class="p">},</span>
+ <span class="nx">menuSettings</span><span class="o">:</span> <span class="p">{</span> <span class="nx">zoom</span><span class="o">:</span> <span class="s2">"Double-Click"</span> <span class="p">},</span>
+ <span class="nx">errorSettings</span><span class="o">:</span> <span class="p">{</span> <span class="nx">message</span><span class="o">:</span> <span class="p">[</span><span class="s2">"[Math Error]"</span><span class="p">]</span> <span class="p">}</span>
+<span class="p">});</span>
+</pre></div>
+</div>
+<p>This turns off the MathJax contextual Message for Internet Explorer, since
+it can interfere with some screen readers. It also sets the zoom trigger
+to double-click, so that readers can see a larger version of the
+mathematics but double-clicking on any equation.</p>
+<p>In addition, it loads the mml Element Jax, the TeX and MathML input jax
+main code (not just the definition files), as well as the <cite>toMathML</cite>
+extension, which is used by the Show Source option in the MathJax
+contextual menu. The full version also loads both the HTML-CSS and
+NativeMML output jax main code, plus the HTML-CSS <cite>mtable</cite> extension, which
+is normally loaded on demand.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Common Configurations</a><ul>
+<li><a class="reference internal" href="#the-tex-ams-mml-htmlormml-configuration-file">The <tt class="docutils literal"><span class="pre">TeX-AMS-MML_HTMLorMML</span></tt> configuration file</a></li>
+<li><a class="reference internal" href="#the-tex-ams-html-configuration-file">The <tt class="docutils literal"><span class="pre">TeX-AMS_HTML</span></tt> configuration file</a></li>
+<li><a class="reference internal" href="#the-mml-htmlormml-configuration-file">The <tt class="docutils literal"><span class="pre">MML_HTMLorMML</span></tt> configuration file</a></li>
+<li><a class="reference internal" href="#the-accessible-configuration-file">The <tt class="docutils literal"><span class="pre">Accessible</span></tt> configuration file</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="configuration.html"
+ title="previous chapter">Loading and Configuring MathJax</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="options/index.html"
+ title="next chapter">Configuration Objects</a></p>
+<div id="searchbox" style="display: none">
+ <h3>Quick search</h3>
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" size="18" />
+ <input type="submit" value="Go" />
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+ <p class="searchtip" style="font-size: 90%">
+ Enter search terms or a module, class or function name.
+ </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="options/index.html" title="Configuration Objects"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="configuration.html" title="Loading and Configuring MathJax"
+ >previous</a> |</li>
+ <li><a href="index.html">MathJax v1.1 documentation</a> »</li>
+ </ul>
+ </div>
+ <div class="footer">
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
+ </div>
+
+ </body>
+</html>
+\ No newline at end of file
diff --git a/docs/html/configuration.html b/docs/html/configuration.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
- <link rel="next" title="The Core Configuration Options" href="options/hub.html" />
+ <link rel="next" title="Common Configurations" href="config-files.html" />
<link rel="prev" title="Installing and Testing MathJax" href="installation.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -33,7 +35,7 @@
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="options/hub.html" title="The Core Configuration Options"
+ <a href="config-files.html" title="Common Configurations"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="installation.html" title="Installing and Testing MathJax"
@@ -51,28 +53,48 @@
<span id="loading"></span><h1>Loading and Configuring MathJax<a class="headerlink" href="#loading-and-configuring-mathjax" title="Permalink to this headline">¶</a></h1>
<p>You load MathJax into a web page by including its main JavaScript file
into the page. That is done via a <tt class="docutils literal"><span class="pre"><script></span></tt> tag that links to the
-<tt class="docutils literal"><span class="pre">MathJax.js</span></tt> file. Place the following line in the <tt class="docutils literal"><span class="pre"><head></span></tt>
+<tt class="docutils literal"><span class="pre">MathJax.js</span></tt> file. To do that, place the following line in the <tt class="docutils literal"><span class="pre"><head></span></tt>
section of your document:</p>
<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js"</span><span class="nt">></script></span>
</pre></div>
</div>
-<p>where <tt class="docutils literal"><span class="pre">path-to-MathJax</span></tt> is replaced by the URL of the MathJax
-directory on your server, or (if you are using MathJax locally rather
-than through a server) the location of that directory on your hard
-disk. For example, if the MathJax directory is at the top level of
-your web server’s directory hierarchy, you might use</p>
+<p>where <tt class="docutils literal"><span class="pre">path-to-MathJax</span></tt> is replaced by the URL of the copy of MathJax
+that you are loading. For example, if you are using the MathJax
+distributed network service, the tag might be</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js"</span><span class="nt">></span>
+<span class="nt"></script></span>
+</pre></div>
+</div>
+<p>If you have installed MathJax yourself, <tt class="docutils literal"><span class="pre">path-to-MathJax</span></tt> will be the
+location of MathJax on your server, or (if you are using MathJax locally
+rather than through a server) the location of that directory on your hard
+disk. For example, if the MathJax directory is at the top level of your
+web server’s directory hierarchy, you might use</p>
<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></script></span>
</pre></div>
</div>
<p>to load MathJax.</p>
-<p>Although it is possible to load MathJax from a site other than your
-own web server, there are issues involved in doing so that you need to
-take into consideration. See the <a class="reference internal" href="installation.html#cross-domain-linking"><em>Notes About Shared Servers</em></a> for more details. Please do <strong>not</strong> link to
-the copy of MathJax at <tt class="docutils literal"><span class="pre">www.mathjax.org</span></tt>, as we do not have the
-resources to act as a web service for all the sites on the web that
-would like to display mathematics. If you are able to run MathJax
-from your own server, please do so (this will probably give you better
-response time in any case).</p>
+<p>If you install MathJax on a server in a domain that is different from the
+one containing the page that will load MathJax, then there are issues
+involved in doing so that you need to take into consideration. See the
+<a class="reference internal" href="installation.html#cross-domain-linking"><em>Notes About Shared Servers</em></a> for more details.</p>
+<p>When you load MathJax, it is common to include additional parameters for
+MathJax as part of the URL. These control MathJax’s configuration, and are
+discussed in the <a class="reference internal" href="options/index.html#configuration"><em>Configuration Objects</em></a> section. A
+typical invocation of MathJax would be</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></span>
+<span class="nt"></script></span>
+</pre></div>
+</div>
+<p>which loads MathJax with a configuration file that includes everything you
+need in order to enter mathematics in either TeX, LaTeX, or MathML
+notation, and produces output using MathML if the browser supports that,
+or HTML-with-CSS otherwise. If you <strong>don’t</strong> load an explicit
+configuration file, you will need to include an in-line configuration
+block in order to tell MathJax how to read and display the mathematics on
+your pages. See the section below for details.</p>
<p>It is best to load MathJax in the document’s <tt class="docutils literal"><span class="pre"><head></span></tt> block, but it
is also possible to load MathJax into the <tt class="docutils literal"><span class="pre"><body></span></tt> section, if
needed. If you do this, load it as early as possible, as
@@ -85,275 +107,300 @@ if you are loading MathJax in the <tt class="docutils literal"><span class="pre"
been prepared, for example, via a <a class="reference external" href="http://www.greasespot.net/">GreaseMonkey</a> script, or using a specially prepared
<a class="reference external" href="http://en.wikipedia.org/wiki/Bookmarklet">bookmarklet</a>. This is an
advanced topic, however; see <a class="reference internal" href="dynamic.html#ajax-mathjax"><em>Loading MathJax Dynamically</em></a> for more details.</p>
-<div class="section" id="configuring-mathjax">
-<h2>Configuring MathJax<a class="headerlink" href="#configuring-mathjax" title="Permalink to this headline">¶</a></h2>
-<p>There are several ways to configure MathJax, but the easiest is to use
-the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file that comes with MathJax. See the
-comments in that file, or the <a class="reference internal" href="#configuration"><em>configuration details</em></a> section, for explanations of the meanings of the various
-configuration options. You can edit the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file to
-change any of the settings that you want to customize. When you
-include MathJax in your page via</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js"</span><span class="nt">></script></span>
+<div class="section" id="loading-mathjax-from-the-cdn">
+<span id="loading-cdn"></span><h2>Loading MathJax from the CDN<a class="headerlink" href="#loading-mathjax-from-the-cdn" title="Permalink to this headline">¶</a></h2>
+<p>MathJax is now available as a web service from <tt class="docutils literal"><span class="pre">cdn.mathjax.org</span></tt>, so you
+can obtain MathJax from there without needing to install it on your own
+server. The CDN is part of a distributed “cloud” network, so it is
+handled by servers around the world. That means that you should get acces
+to a server geographically near you, for a fast, reliable connection.</p>
+<p>The CDN hosts the most current version of MathJax, as well as older
+versions, so you can either link to a version that stays up-to-date as
+Mathjax is improved, or you can stay with one of the release versions so
+that you pages always use the same version of MathJax.</p>
+<p>The URL that you use to obtain MathJax determines the version that you
+get. The CDN has the following directory structure:</p>
+<div class="highlight-sh"><div class="highlight"><pre>mathjax/ <span class="c"># project-name</span>
+ 1.0-latest/
+ 1.1-beta/ <span class="c"># temporary</span>
+ 1.1-latest/ <span class="c"># the 1.1 release with any ciritical patches</span>
+ ...
+ latest/ <span class="c"># the most current version (1.1-latest in this case)</span>
</pre></div>
</div>
-<p>it will load <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> automatically as one of its
-first actions.</p>
-<p>Alternatively, you can configure MathJax efficiently by calling
-<tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> when you include MathJax in your page, as
-follows:</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js"</span><span class="nt">></span>
- <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
- <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">],</span>
- <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span> <span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
- <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s2">"\\("</span><span class="p">,</span><span class="s2">"\\)"</span><span class="p">]</span> <span class="p">],</span>
- <span class="nx">displayMath</span><span class="o">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'$$'</span><span class="p">,</span><span class="s1">'$$'</span><span class="p">],</span> <span class="p">[</span><span class="s2">"\\["</span><span class="p">,</span><span class="s2">"\\]"</span><span class="p">]</span> <span class="p">],</span>
- <span class="p">},</span>
- <span class="s2">"HTML-CSS"</span><span class="o">:</span> <span class="p">{</span> <span class="nx">availableFonts</span><span class="o">:</span> <span class="p">[</span><span class="s2">"TeX"</span><span class="p">]</span> <span class="p">}</span>
- <span class="p">});</span>
-<span class="nt"></script></span>
+<p>Each directory corresponds to an official MathJax release; however,
+hotfixes (urgent bug fixes) will be applied in each release branch as
+necessary, even if new releases are not prepared. In other words,
+<tt class="docutils literal"><span class="pre">1.1-latest</span></tt> will initially point to v1.1, but over time may be updated
+with patches that would correspond to releases that might be numbers 1.1a,
+1.1b, etc., even if such releases are not actually prepared for
+distribution (they likely won’t be).</p>
+<p>We may occasionally introduce directories for betas, as indicated above,
+but they will be temprorary, and will be removed after the official
+release.</p>
+<p>To load from a particular release, use the directory for that release.
+For example,</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/1.1-latest/MathJax.js"</span><span class="nt">></script></span>
</pre></div>
</div>
-<p>This example includes the <tt class="docutils literal"><span class="pre">tex2jax</span></tt> preprocessor and configures it
-to use both the standard TeX and LaTeX math delimiters. It uses the
-TeX input processor and the HTML-CSS output processor, and forces the
-HTML-CSS processor to use the TeX fonts rather that other locally
-installed fonts (e.g., <a class="reference internal" href="glossary.html#term-stix"><em class="xref std std-term">STIX</em></a> fonts). See the
-<a class="reference internal" href="#configuration"><em>configuration options</em></a> section (or the comments
-in the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file) for more information about the
-configuration options that you can include in the
-<tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> call. Note that if you configure MathJax
-using this in-line approach, the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file is <strong>not</strong>
-loaded.</p>
-<p>Finally, if you would like to use several different configuration
-files (like <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt>, but with different settings in each
-one), you can copy <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> to <tt class="docutils literal"><span class="pre">config/MathJax-2.js</span></tt>,
-or some other convenient name, and use</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js"</span><span class="nt">></span>
- <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span> <span class="nx">config</span><span class="o">:</span> <span class="s2">"MathJax-2.js"</span> <span class="p">});</span>
-<span class="nt"></script></span>
+<p>will load the stable v1.1 version, even if we release v1.2 or other later
+versions, while</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js"</span><span class="nt">></script></span>
</pre></div>
</div>
-<p>to load the alternative configuration file <tt class="docutils literal"><span class="pre">config/MathJax-2.js</span></tt>
-from the MathJax <tt class="docutils literal"><span class="pre">config</span></tt> directory. In this way, you can have as
-many distinct configuration files as you need.</p>
-</div>
-<div class="section" id="common-configurations">
-<span id="id1"></span><h2>Common Configurations<a class="headerlink" href="#common-configurations" title="Permalink to this headline">¶</a></h2>
-<p>The following examples show configurations that are useful for some
-common situations. This is certainly not an exhaustive list, and
-there are variations possible for any of them. Again, the comments in
-the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file can help you decide what settings to
-include, even if you are using the in-line configuration method.</p>
-<div class="section" id="the-tex-setup">
-<h3>The TeX setup<a class="headerlink" href="#the-tex-setup" title="Permalink to this headline">¶</a></h3>
-<p>This example calls the <tt class="docutils literal"><span class="pre">tex2jax</span></tt> preprocessor to identify
-mathematics in the page by looking for TeX and LaTeX math delimiters.
-It uses <tt class="docutils literal"><span class="pre">$...$</span></tt> and <tt class="docutils literal"><span class="pre">\(...\)</span></tt> for in-line mathematics, while
-<tt class="docutils literal"><span class="pre">$$...$$</span></tt> and <tt class="docutils literal"><span class="pre">\[...\]</span></tt> mark displayed equations. Because dollar
-signs are used to mark mathematics, if you want to produce an actual
-dollar sign in your document, you must “escape” it using a slash:
-<tt class="docutils literal"><span class="pre">\$</span></tt>. This configuration also loads the <tt class="docutils literal"><span class="pre">AMSmath</span></tt> and
-<tt class="docutils literal"><span class="pre">AMSsymbols</span></tt> extensions so that the macros and environments they
-provide are defined for use on the page.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
- <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">,</span><span class="s2">"TeX/AMSmath.js"</span><span class="p">,</span><span class="s2">"TeX/AMSsymbols.js"</span><span class="p">],</span>
- <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
- <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],[</span><span class="s2">"\\("</span><span class="p">,</span><span class="s2">"\\)"</span><span class="p">]],</span>
- <span class="nx">processEscapes</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span>
- <span class="p">},</span>
-<span class="p">});</span>
-</pre></div>
+<p>will always be the most current stable release, so it will go from v1.1 to
+v1.2 autmatically when that is released. Note that all the versions
+available on the CDN are stable versions; the development version is not
+hosted on the CDN.</p>
+<p>The use of <tt class="docutils literal"><span class="pre">cdn.mathjax.org</span></tt> is governed by its <a class="reference external" href="http://www.mathjax.org/download/mathjax-cdn-terms-of-service/">terms of service</a>, so be
+sure to read that before linked to the MathJax CDN server.</p>
</div>
-<p>Other extensions that you may consider adding to the <cite>extensions</cite>
-array include: <tt class="docutils literal"><span class="pre">TeX/noErrors.js</span></tt>, which shows the original TeX code
-if an error occurs while processing the mathematics (rather than an
-error message), <tt class="docutils literal"><span class="pre">TeX/noUndefined.js</span></tt>, which shows undefined
-macros names in red (rather than producing an error), and
-<tt class="docutils literal"><span class="pre">TeX/autobold.js</span></tt>, which automatically inserts <tt class="docutils literal"><span class="pre">\boldsymbol{...}</span></tt>
-around your mathematics when it appears in a section of your page that
-is in bold. Most of the other TeX extensions are loaded automatically
-when needed, and so do not need to be included explicitly in your
-<cite>extensions</cite> array.</p>
-<p>See the <a class="reference internal" href="options/tex2jax.html#configure-tex2jax"><em>tex2jax configuration</em></a> section for
-other configuration options for the <tt class="docutils literal"><span class="pre">tex2jax</span></tt> preprocessor, and the
-<a class="reference internal" href="options/TeX.html#configure-tex"><em>TeX input jax configuration</em></a> section for options
-that control the TeX input processor.</p>
+<div class="section" id="configuring-mathjax">
+<h2>Configuring MathJax<a class="headerlink" href="#configuring-mathjax" title="Permalink to this headline">¶</a></h2>
+<p>There are two ways to configure MathJax: via a configuration file, or by
+including configuration commands wthin the web page itself. These can be
+used independently, or in combination. For example, you can load a main
+pre-defined configuration file, but include in-line commands to
+adjust the configuration to your needs.</p>
+<p>Note that you must use at least one of these two forms of configuration.
+Unlike earlier versions of MathJax, version 1.1 does not load a default
+configuration file. If you have been using version 1.0’s
+<tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> for your configuration, you will need to load that
+configuration file explicitly via a <tt class="docutils literal"><span class="pre">config</span></tt> parameter, as described
+below.</p>
</div>
-<div class="section" id="the-mathml-setup">
-<h3>The MathML setup<a class="headerlink" href="#the-mathml-setup" title="Permalink to this headline">¶</a></h3>
-<p>This example calls the <tt class="docutils literal"><span class="pre">mml2jax</span></tt> preprocessor to identify
-mathematics in the page that is in <a class="reference internal" href="glossary.html#term-mathml"><em class="xref std std-term">MathML</em></a> format, which uses
-<tt class="docutils literal"><span class="pre"><math</span> <span class="pre">display="block"></span></tt> to indicate displayed equations, and
-<tt class="docutils literal"><span class="pre"><math</span> <span class="pre">display="inline"></span></tt> or simply <tt class="docutils literal"><span class="pre"><math></span></tt> to mark in-line
-formulas.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
- <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"mml2jax.js"</span><span class="p">],</span>
- <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/MathML"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">]</span>
-<span class="p">});</span>
+<div class="section" id="using-a-configuration-file">
+<span id="config-files"></span><h2>Using a configuration file<a class="headerlink" href="#using-a-configuration-file" title="Permalink to this headline">¶</a></h2>
+<p>The first way to configure MathJax is to use a configuration file.
+MathJax comes with a number of pre-defined configuration files, which are
+stored in the <tt class="docutils literal"><span class="pre">MathJax/config</span></tt> directory. Among these are the following</p>
+<dl class="describe">
+<dt>
+<tt class="descname">default.js</tt></dt>
+<dd><p>A file that contains nearly all the configuration options with comments
+describing them, which you can edit to suit your needs.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt>
+<tt class="descname">TeX-AMS-MML_HTMLorMML.js</tt></dt>
+<dd><p>Allows math to be specified in TeX, LaTeX, or MathML notation, with the
+<cite>AMSmath</cite> and <cite>AMSsymbols</cite> packages included, producing output using
+MathML if the browser supports it, and HTML-with-CSS otherwise.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt>
+<tt class="descname">TeX-AMS_HTML.js</tt></dt>
+<dd><p>Allows math to be specified in TeX or LaTeX notation (with the
+<cite>AMSmath</cite> and <cite>AMSsymbols</cite> packages included, and produces output
+using the HTML-CSS output processor.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt>
+<tt class="descname">MML_HTMLorMML.js</tt></dt>
+<dd><p>Allows math to be specified using MathML notation, and produces MathML
+output if the browser supports it, or HTML-CSS output otherwise.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt>
+<tt class="descname">Accessible.js</tt></dt>
+<dd><p>Essentially the same as <tt class="docutils literal"><span class="pre">TeX-AMS-MML_HTMLorMML</span></tt>, but with some
+settings specified to make MathJax work better with assistive
+technology (for the visually impaired). This includes setting the
+zoom trigger to be a double-click, and removing the MathMenu in
+Internet Explorer (which can interfere with some screen readers).</p>
+</dd></dl>
+
+<p>The first of these is a file that you can edit to suit your needs. It
+contains nearly all the configuration options that MathJax allows, and has
+comments explaining them. The others are what are called <cite>combined
+configuration files</cite>, which not only configure MathJax, but also pre-load the
+various files that the configuration requires. (The contents of these
+files are explained in more detail in the <a class="reference external" href="common-configurations">Common Configurations</a> section.)</p>
+<p>Usually, MathJax loads its components only when they are needed, but each
+component will require a separate file to be loaded, and that can cause
+delays before the mathematics is displayed. The combined configuration
+files load the majority of the needed files all as one large file, reducing
+the number of network requests that are needed. That means you will
+probably be getting the componets that MathJax needs faster than you would
+without the combined file, but you may be loading components that are never
+actually used; that is the trade off.</p>
+<p>Each of the combined configuration files comes in two flavors: the ones
+listed above, which only configure the output processors but don’t include
+the main code, and a “full” version, that also includes the complete
+output processors. For example, with <tt class="docutils literal"><span class="pre">TeX-AMS_HTML.js</span></tt> and
+<tt class="docutils literal"><span class="pre">TeX-AMS_HTML-full.js</span></tt>, the latter includes the complete HTML-CSS output
+processor. The “full” configuration files are substantially larger (on
+the order of 70KB), so you need to decide whether it is worth loading the
+full configuraiton for your pages.</p>
+<p>If most of your pages include mathematics, then it is to your advantage to
+load the full version, but if you are including MathJax in a theme file for
+a blog or wiki that only includes mathematics occasionally, then perhaps it
+is better to use the standard configuration instead, in which case the
+output processors are only loaded when they are actually needed, saving the
+loading of 70KB for pages that don’t. Of course, if your server is
+configured to compress the files it sends, the difference between the two
+is considerably reduced. Furthermore, most browsers will cache the
+javascript they receive, so the download cost should only occur on the
+first page a user views, so it may be best to use the “full” version after
+all. Note, however, that mobile devices sometimes have limits on the size
+of files that they cache, so they may be forced to download the
+configuration on every page. You need to keep these issues in mind as you
+decide on which configuration to use.</p>
+<p>To load a configuration file, use <tt class="docutils literal"><span class="pre">config=filename</span></tt> (where <tt class="docutils literal"><span class="pre">filename</span></tt>
+is one of the names above without the <tt class="docutils literal"><span class="pre">.js</span></tt>) as a parameter to the URL of
+the <tt class="docutils literal"><span class="pre">MathJax.js</span></tt> file. For example</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></span>
+<span class="nt"></script></span>
</pre></div>
</div>
-<p>Note that this will work in HTML files, not just XHTML files (MathJax
-works with both), and that the web page need not be served with any
-special MIME-type. Also note that, unless you are using XHTML rather
-than HTML, you should not include a namespace prefix for your
-<tt class="docutils literal"><span class="pre"><math></span></tt> tags; for example, you should not use <tt class="docutils literal"><span class="pre"><m:math></span></tt> except
-in a file where you have tied the <tt class="docutils literal"><span class="pre">m</span></tt> namespace to the MathML DTD.</p>
-<p>See the <a class="reference internal" href="options/mml2jax.html#configure-mml2jax"><em>mml2jax configuration</em></a> section for
-other configuration options for the <tt class="docutils literal"><span class="pre">mml2jax</span></tt> preprocessor, and the
-<a class="reference internal" href="options/MathML.html#configure-mathml"><em>MathML input jax configuration</em></a> section for
-options that control the MathML input processor.</p>
-</div>
-<div class="section" id="both-tex-and-mathml">
-<h3>Both TeX and MathML<a class="headerlink" href="#both-tex-and-mathml" title="Permalink to this headline">¶</a></h3>
-<p>This example provides for both TeX and MathML input in the same file.
-It calls on both the <tt class="docutils literal"><span class="pre">tex2jax</span></tt> and <tt class="docutils literal"><span class="pre">mml2jax</span></tt> preprocessors and the
-TeX and MathML input jax to do the job.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
- <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">,</span> <span class="s2">"mml2jax.js"</span><span class="p">],</span>
- <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span> <span class="s2">"input/MathML"</span><span class="p">,</span> <span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
-<span class="p">});</span>
+<p>loads the <tt class="docutils literal"><span class="pre">config/TeX-AMS-MML_HTMLorMML.js</span></tt> configuration file from the
+MathJax distributed network service.</p>
+<p>You can include more than one configuration file by separating them with
+commas. For example, if you have a locally defined configuration file
+called <tt class="docutils literal"><span class="pre">MathJax/config/local/local.js</span></tt> that modifies the settings for the
+<tt class="docutils literal"><span class="pre">TeX-AMS_HML</span></tt> configuration, defines some new TeX macros, and so on, you
+can use</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,local/local.js"</span><span class="nt">></span>
+<span class="nt"></script></span>
</pre></div>
</div>
-<p>Notice that no <tt class="docutils literal"><span class="pre">tex2jax</span></tt> configuration section is included, so it
-uses its default options (no single dollar signs for in-line math).</p>
-<p>The majority of the code for the TeX and MathML input processors are
-not loaded until they are actually needed by the mathematics on the
-page, so if this configuration is used on a page that include only
-MathML, the TeX input processor will not be loaded. Thus it is
-reasonably efficient to specify both input processors even if only one
-(or neither one) is used.</p>
+<p>to first load the main configuraiton, then the local modifications.</p>
</div>
-<div class="section" id="tex-input-with-mathml-output">
-<h3>TeX input with MathML output<a class="headerlink" href="#tex-input-with-mathml-output" title="Permalink to this headline">¶</a></h3>
-<p>This example configures MathJax to use the <tt class="docutils literal"><span class="pre">tex2jax</span></tt> preprocessor
-and TeX input processor, but the choice of output format is determined
-by MathJax depending on the capabilities of the user’s browser. The
-is performed by the <tt class="docutils literal"><span class="pre">MMLorHTML.js</span></tt> configuration file that is loaded
-in the <cite>config`</cite> array.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
- <span class="nx">config</span><span class="o">:</span> <span class="p">[</span><span class="s2">"MMLorHTML.js"</span><span class="p">],</span>
+<div class="section" id="using-in-line-configuration-options">
+<h2>Using in-line configuration options<a class="headerlink" href="#using-in-line-configuration-options" title="Permalink to this headline">¶</a></h2>
+<p>The second way to configure MathJax is through <cite>in-line configuration</cite>,
+that puts the configuration options within the web page itself. This
+process has changed in version 1.1 to make it compatible with HTML5.
+Earlier versions of MathJax had in-line configuration included within the
+content of the <tt class="docutils literal"><span class="pre"><script></span></tt> tag that loads <tt class="docutils literal"><span class="pre">MathJax.js</span></tt>, but HTML5 makes
+it illegal to have content for a script with a <tt class="docutils literal"><span class="pre">src</span></tt> attribute.</p>
+<p>MathJax solves this problem by using separate <tt class="docutils literal"><span class="pre"><script></span></tt> tags to perform
+configuration for MathJax. Because MathJax starts its configuration
+process as soon as it is loaded, the configuration script must come
+<strong>before</strong> the script tag that loads <tt class="docutils literal"><span class="pre">MathJax.js</span></tt> itself. You do this
+by including a <tt class="docutils literal"><span class="pre"><script></span></tt> with <tt class="docutils literal"><span class="pre">type="text/x-mathjax-config"</span></tt>, whose
+content will be run when MathJax performs its configuration. Generally,
+this script will include a <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> call to perform
+MathJax configuration, but it can also include other MathJax commands,
+such as registering signal actions, or any JavaScript commands that you
+want. You can have as many such script tags as you want, and MathJax will
+process them in order as they appear in the document.</p>
+<p>For instance,</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
<span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">],</span>
- <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">]</span>
-<span class="p">});</span>
-</pre></div>
-</div>
-<p>With this setup, Firefox or Internet Explorer with the <a class="reference external" href="http://www.dessci.com/en/products/mathplayer/">MathPlayer
-plugin</a> installed
-will use the NativeMML output processor, while all other browsers will
-use the HTML-CSS output processor. Since native MathML support is
-faster than MathJax’s HTML-CSS processor, this will mean that the web
-pages will display faster for Firefox and IE than they would
-otherwise. This speed comes at the cost, however, as you are now
-relying on the native MathML support to render the mathematics, and
-that is outside of MathJax’s control. There may be spacing or other
-display differences (compared to MathJax’s HTML-CSS output) when the
-NativeMML output processor is used.</p>
-<p>See <a class="reference internal" href="output.html#output-formats"><em>MathJax Output Formats</em></a> for more
-information on the NativeMML and HTML-CSS output processors. See the
-<a class="reference internal" href="options/MMLorHTML.html#configure-mmlorhtml"><em>MMLorHTML configuration</em></a> section for
-details on the options that control the <tt class="docutils literal"><span class="pre">MMLorHTML</span></tt> configuration.</p>
-</div>
-<div class="section" id="mathml-input-and-output-in-all-browsers">
-<h3>MathML input and output in all browsers<a class="headerlink" href="#mathml-input-and-output-in-all-browsers" title="Permalink to this headline">¶</a></h3>
-<p>This example configures MathJax to look for MathML within your page,
-and to display it using the browser’s native MathML support, if
-possible, or its HTML-CSS output if not.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
- <span class="nx">config</span><span class="o">:</span> <span class="p">[</span><span class="s2">"MMLorHTML.js"</span><span class="p">],</span>
- <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"mml2jax.js"</span><span class="p">],</span>
- <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/MathML"</span><span class="p">]</span>
-<span class="p">});</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span> <span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
+ <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s2">"\\("</span><span class="p">,</span><span class="s2">"\\)"</span><span class="p">]</span> <span class="p">],</span>
+ <span class="nx">displayMath</span><span class="o">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'$$'</span><span class="p">,</span><span class="s1">'$$'</span><span class="p">],</span> <span class="p">[</span><span class="s2">"\\["</span><span class="p">,</span><span class="s2">"\\]"</span><span class="p">]</span> <span class="p">],</span>
+ <span class="nx">processEscapes</span><span class="o">:</span> <span class="kc">true</span>
+ <span class="p">},</span>
+ <span class="s2">"HTML-CSS"</span><span class="o">:</span> <span class="p">{</span> <span class="nx">availableFonts</span><span class="o">:</span> <span class="p">[</span><span class="s2">"TeX"</span><span class="p">]</span> <span class="p">}</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js"</span><span class="nt">></span>
</pre></div>
</div>
-<p>Using this configuration, MathJax finally makes MathML available in
-all modern browsers.</p>
-<p>See the <a class="reference internal" href="options/MMLorHTML.html#configure-mmlorhtml"><em>MMLorHTML configuration</em></a> section
-for details on the options that control the <tt class="docutils literal"><span class="pre">MMLorHTML</span></tt>
-configuration file, the <a class="reference internal" href="options/MathML.html#configure-mathml"><em>MathML configuration</em></a>
-section for the options that control the MathML output processor, and
-the <a class="reference internal" href="options/mml2jax.html#configure-mml2jax"><em>mml2jax configuration</em></a> section for the
-options that control the <tt class="docutils literal"><span class="pre">mml2jax</span></tt> preprocessor.</p>
-</div>
-</div>
-<div class="section" id="configuration-objects">
-<span id="configuration"></span><h2>Configuration Objects<a class="headerlink" href="#configuration-objects" title="Permalink to this headline">¶</a></h2>
-<p>The various components of MathJax, including its input and output
-processors, its preprocessors, its extensions, and the MathJax core,
-all can be configured through the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file, or via a
-<tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> call (indeed, if you look closely, you
-will see that <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> is itself one big call to
-<tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt>). Anything that is in
-<tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> can be included in-line to configure MathJax.</p>
-<p>The structure that you pass to <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> is a
-JavaScript object that includes name-value pairs giving the names of
-parameters and their values, with pairs separated by commas. Be
-careful not to include a comma after the last value, however, as some
-browsers (namely Internet Explorer) will fail to process the
-configuration if you do.</p>
-<p>The MathJax components, like the TeX input processor, have their own
-sections in the configuration object, labeled by the component name,
-and using an configuration object as its value. The object is itself
-a configuration object made up of name-value pairs that give the
-configuration options for the component.</p>
-<p>For example,</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
- <span class="nx">showProcessingMessages</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span>
- <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span> <span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
- <span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">TagSide</span><span class="o">:</span> <span class="s2">"left"</span><span class="p">,</span>
- <span class="nx">Macros</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">RR</span><span class="o">:</span> <span class="s1">'{\\bf R}'</span><span class="p">,</span>
- <span class="nx">bold</span><span class="o">:</span> <span class="p">[</span><span class="s1">'{\\bf #1}'</span><span class="p">,</span><span class="mi">1</span><span class="p">]</span>
+<p>This example includes the <cite>tex2jax</cite> preprocessor and configures it to use
+both the standard <a class="reference internal" href="glossary.html#term-tex"><em class="xref std std-term">TeX</em></a> and <a class="reference internal" href="glossary.html#term-latex"><em class="xref std std-term">LaTeX</em></a> math delimiters. It uses
+the <cite>TeX</cite> input processor and the <cite>HTML-CSS</cite> output processor, and forces the
+HTML-CSS processor to use the TeX fonts rather that other locally installed
+fonts (e.g., <a class="reference internal" href="glossary.html#term-stix"><em class="xref std std-term">STIX</em></a> fonts). See the <a class="reference internal" href="options/index.html#configuration"><em>configuration options</em></a> section (or the comments in the <tt class="docutils literal"><span class="pre">config/default.js</span></tt>
+file) for more information about the configuration options that you can
+include in the <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> call. Note that this
+configuration does <strong>not</strong> load any pre-defined configuration file.</p>
+<p>Note that you can combine in-line configuration with file-based
+configuration, simply include <tt class="docutils literal"><span class="pre">text/x-mathjax-config</span></tt> scripts as above,
+but also include <tt class="docutils literal"><span class="pre">config=filename</span></tt> when you load the <tt class="docutils literal"><span class="pre">MathJax.js</span></tt>
+file. For example, the <cite>tex2jax</cite> preprocessor does <strong>not</strong> the TeX
+single-dollar in-line math delimiters by default. You can load one of the
+pre-defined configuration files that include the TeX preprocessor, and use
+an in-line configuration block to enable the single-dollar signs:</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s2">"\\("</span><span class="p">,</span><span class="s2">"\\)"</span><span class="p">]</span> <span class="p">],</span>
+ <span class="nx">processEscapes</span><span class="o">:</span> <span class="kc">true</span>
<span class="p">}</span>
- <span class="p">}</span>
-<span class="p">});</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js?config=TeX-AMS_HTML"</span><span class="nt">></span>
+<span class="nt"></script></span>
</pre></div>
</div>
-<p>is a configuration that includes two settings for the MathJax Hub (one
-for <cite>showProcessingMessages</cite> and one of the <cite>jax</cite> array), and a
-configuration object for the TeX input processor. The latter includes
-a setting for the TeX input processor’s <cite>TagSide</cite> option (to set tags
-on the left rather than the right) and a setting for <cite>Macros</cite>, which
-defines new TeX macros (in this case, two macros, one called <tt class="docutils literal"><span class="pre">\RR</span></tt>
-that produces a bold “R”, and one called <tt class="docutils literal"><span class="pre">\bold</span></tt> that puts is
-argument in bold face).</p>
-<p>The <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file is another example that shows nearly
-all the configuration options for all of MathJax’s components.</p>
-</div>
-<div class="section" id="configuration-options-by-component">
-<h2>Configuration Options by Component<a class="headerlink" href="#configuration-options-by-component" title="Permalink to this headline">¶</a></h2>
-<p>The individual options are explained in the following sections, which
-are categorized by the component they affect.</p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="options/hub.html">The core options</a></li>
-</ul>
</div>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="options/tex2jax.html">The tex2jax preprocessor options</a></li>
-<li class="toctree-l1"><a class="reference internal" href="options/mml2jax.html">The mml2jax preprocessor options</a></li>
-<li class="toctree-l1"><a class="reference internal" href="options/jsMath2jax.html">The jsMath2jax preprocessor options</a></li>
-</ul>
+<div class="section" id="configuring-mathjax-after-it-is-loaded">
+<span id="delaystartupuntil"></span><h2>Configuring MathJax after it is loaded<a class="headerlink" href="#configuring-mathjax-after-it-is-loaded" title="Permalink to this headline">¶</a></h2>
+<p>Because MathJax begins its configuration process immediately after it is
+loaded (so that it can start loading files as quickly as it can), the
+configuration blocks for MathJax must come before <tt class="docutils literal"><span class="pre">MathJax.js</span></tt> is loaded,
+so they will be available to MathJax when it starts up. There are
+situations, however, when you might want to put off configuring MathJax
+until later in the page.</p>
+<p>One such situation is when you have a site that loads MathJax as part of a
+theme or template, but want to be able to modify the configuration on
+specific pages of the site. To accomplish this, you need to ask MathJax
+to delay its startup configuration until some later time. MathJax uses
+the <tt class="docutils literal"><span class="pre">delayStartupUntil</span></tt> parameter to control the timing of the startup
+sequence. By default, it is set to <tt class="docutils literal"><span class="pre">none</span></tt>, meaning there is no delay
+and MathJax starts configuration right away.</p>
+<p>You can set <tt class="docutils literal"><span class="pre">delayStartupUntil=onload</span></tt> in order to prevent MathJax from
+continuing its startup process until the page’s onLoad handler fires. This
+allows MathJax to find the <tt class="docutils literal"><span class="pre">text/x-mathjax-config</span></tt> blocks that occur
+anywhere on the page, not just the ones that appear above the <tt class="docutils literal"><span class="pre"><script></span></tt>
+that loads <tt class="docutils literal"><span class="pre">MathJax.js</span></tt>. It also means that MathJax will not begin
+loading any of the files that it needs until then as well, which may delay
+the displaying of your mathematics, since the onLoad handler doesn’t
+execute until all the images and other media are available. (If you have
+used a combined configuration file, however, it already includes all the
+main files that MathJax needs, so there is not much loss in delaying the
+startup.)</p>
+<p>You can set <tt class="docutils literal"><span class="pre">delayStartupUntil=configured</span></tt> in order to delay the startup
+configuration until the <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Configured()</span></tt> method is
+called. This allows you to delay startup until later on the page, but
+then restart MathJax configuration process as soon as possible rather than
+waiting for the entire page to load. For example, you could use</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML&delayStartupUntil=configured"</span><span class="nt">></span>
+<span class="nt"></script></span>
+</pre></div>
</div>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="options/TeX.html">The TeX input processor options</a></li>
-<li class="toctree-l1"><a class="reference internal" href="options/MathML.html">The MathML input processor options</a></li>
-<li class="toctree-l1"><a class="reference internal" href="options/HTML-CSS.html">The HTML-CSS output processor options</a></li>
-<li class="toctree-l1"><a class="reference internal" href="options/NativeMML.html">The NativeMML output processor options</a></li>
-<li class="toctree-l1"><a class="reference internal" href="options/MMLorHTML.html">The MMLorHTML configuration options</a></li>
-</ul>
+<p>in your theme’s header file, and</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Configured</span><span class="p">()</span>
+<span class="nt"></script></span>
+</pre></div>
</div>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="options/MathMenu.html">The MathMenu options</a></li>
-<li class="toctree-l1"><a class="reference internal" href="options/MathZoom.html">The MathZoom options</a></li>
-<li class="toctree-l1"><a class="reference internal" href="options/FontWarnings.html">The FontWarnings options</a></li>
-</ul>
+<p>in its footer, so that MathJax will delay setting up until the footer is
+reached, but will not have to wait until images and other files are
+laoded. If you have <tt class="docutils literal"><span class="pre">text/x-mathjax-config</span></tt> script tags within the main
+body of the document, MathJax will read and process those before
+continuing its startup. In this way you can use a default configuration
+that can be modified on a page-by-page basis.</p>
</div>
+<div class="section" id="details-of-the-mathjax-configuration-process">
+<h2>Details of the MathJax configuration process<a class="headerlink" href="#details-of-the-mathjax-configuration-process" title="Permalink to this headline">¶</a></h2>
+<p>Since there are a number of different ways to configure MathJax, it is
+important to know how they interact. The configuration process is the
+following:</p>
+<ol class="arabic simple">
+<li>Process any configuration file explicitly specified as a script parameter.</li>
+<li>Process the in-line script body (deprecated), if present.</li>
+<li>If delayed startup is requested, wait for the indicated signal.</li>
+<li>Process <tt class="docutils literal"><span class="pre">text/x-mathjax-config</span></tt> config blocks.</li>
+<li>Process any config files queued in the configuration’s <cite>config</cite> array
+by earlier config code.</li>
+</ol>
+<p>Note that <tt class="docutils literal"><span class="pre">text/x-mathjax-config</span></tt> script blocks must either precede the
+<tt class="docutils literal"><span class="pre">MathJax.js</span></tt> script element, or startup must be delayed. Otherwise, blocks
+that follow the <tt class="docutils literal"><span class="pre">MathJax.js</span></tt> script element may or may not be available
+when MathJax runs, and browser-dependent erratic behavior will result.</p>
</div>
</div>
@@ -366,19 +413,12 @@ are categorized by the component they affect.</p>
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Loading and Configuring MathJax</a><ul>
+<li><a class="reference internal" href="#loading-mathjax-from-the-cdn">Loading MathJax from the CDN</a></li>
<li><a class="reference internal" href="#configuring-mathjax">Configuring MathJax</a></li>
-<li><a class="reference internal" href="#common-configurations">Common Configurations</a><ul>
-<li><a class="reference internal" href="#the-tex-setup">The TeX setup</a></li>
-<li><a class="reference internal" href="#the-mathml-setup">The MathML setup</a></li>
-<li><a class="reference internal" href="#both-tex-and-mathml">Both TeX and MathML</a></li>
-<li><a class="reference internal" href="#tex-input-with-mathml-output">TeX input with MathML output</a></li>
-<li><a class="reference internal" href="#mathml-input-and-output-in-all-browsers">MathML input and output in all browsers</a></li>
-</ul>
-</li>
-<li><a class="reference internal" href="#configuration-objects">Configuration Objects</a></li>
-<li><a class="reference internal" href="#configuration-options-by-component">Configuration Options by Component</a><ul>
-</ul>
-</li>
+<li><a class="reference internal" href="#using-a-configuration-file">Using a configuration file</a></li>
+<li><a class="reference internal" href="#using-in-line-configuration-options">Using in-line configuration options</a></li>
+<li><a class="reference internal" href="#configuring-mathjax-after-it-is-loaded">Configuring MathJax after it is loaded</a></li>
+<li><a class="reference internal" href="#details-of-the-mathjax-configuration-process">Details of the MathJax configuration process</a></li>
</ul>
</li>
</ul>
@@ -387,13 +427,8 @@ are categorized by the component they affect.</p>
<p class="topless"><a href="installation.html"
title="previous chapter">Installing and Testing MathJax</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="options/hub.html"
- title="next chapter">The Core Configuration Options</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/configuration.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
+ <p class="topless"><a href="config-files.html"
+ title="next chapter">Common Configurations</a></p>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -418,7 +453,7 @@ are categorized by the component they affect.</p>
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="options/hub.html" title="The Core Configuration Options"
+ <a href="config-files.html" title="Common Configurations"
>next</a> |</li>
<li class="right" >
<a href="installation.html" title="Installing and Testing MathJax"
@@ -427,8 +462,9 @@ are categorized by the component they affect.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/dynamic.html b/docs/html/dynamic.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="Modifying Math on the Page" href="typeset.html" />
<link rel="prev" title="Using Signals" href="signals.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -64,14 +66,12 @@ handler yourself, to let it know that it is OK to typeset the
mathematics on the page. You accomplish this by calling the
<tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Startup.onload()</span></tt> method as part of your MathJax
startup script. To do this, you will need to give MathJax an in-line
-configuration, so you will not be able to use the
-<tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file (though you can add it to your in-line
-configuration’s <cite>config</cite> array).</p>
+configuration.</p>
<p>Here is an example of how to load and configure MathJax dynamically:</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">script</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">"script"</span><span class="p">);</span>
<span class="nx">script</span><span class="p">.</span><span class="nx">type</span> <span class="o">=</span> <span class="s2">"text/javascript"</span><span class="p">;</span>
- <span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"/MathJax/MathJax.js"</span><span class="p">;</span> <span class="c1">// use the location of your MathJax</span>
+ <span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"http://cdn.mathjax.org/mathjax/latest/MathJax.js"</span><span class="p">;</span>
<span class="kd">var</span> <span class="nx">config</span> <span class="o">=</span> <span class="s1">'MathJax.Hub.Config({'</span> <span class="o">+</span>
<span class="s1">'extensions: ["tex2jax.js"],'</span> <span class="o">+</span>
@@ -86,20 +86,18 @@ configuration’s <cite>config</cite> array).</p>
<span class="p">})();</span>
</pre></div>
</div>
-<p>Be sure to set the <tt class="docutils literal"><span class="pre">src</span></tt> to the correct URL for your copy of
-MathJax. You can adjust the <tt class="docutils literal"><span class="pre">config</span></tt> variable to your needs, but be
-careful to get the commas right. The <tt class="docutils literal"><span class="pre">window.opera</span></tt> test is because
+<p>You can adjust the <tt class="docutils literal"><span class="pre">config</span></tt> variable to your needs, but be careful to get
+the commas right. The <tt class="docutils literal"><span class="pre">window.opera</span></tt> test is because some versions of
Opera doesn’t handle setting <tt class="docutils literal"><span class="pre">script.text</span></tt> properly, while Internet
Explorer doesn’t handle setting the <tt class="docutils literal"><span class="pre">innerHTML</span></tt> of a script tag.</p>
-<p>Here is a version that uses the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file to
+<p>Here is a version that uses the <tt class="docutils literal"><span class="pre">config=filename</span></tt> method to
configure MathJax:</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">script</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">"script"</span><span class="p">);</span>
<span class="nx">script</span><span class="p">.</span><span class="nx">type</span> <span class="o">=</span> <span class="s2">"text/javascript"</span><span class="p">;</span>
- <span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"/MathJax/MathJax.js"</span><span class="p">;</span> <span class="c1">// use the location of your MathJax</span>
+ <span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full"</span><span class="p">;</span>
- <span class="kd">var</span> <span class="nx">config</span> <span class="o">=</span> <span class="s1">'MathJax.Hub.Config({ config: "MathJax.js" }); '</span> <span class="o">+</span>
- <span class="s1">'MathJax.Hub.Startup.onload();'</span><span class="p">;</span>
+ <span class="kd">var</span> <span class="nx">config</span> <span class="o">=</span> <span class="s1">'MathJax.Hub.Startup.onload();'</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">opera</span><span class="p">)</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">config</span><span class="p">}</span>
<span class="k">else</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">text</span> <span class="o">=</span> <span class="nx">config</span><span class="p">}</span>
@@ -109,13 +107,12 @@ configure MathJax:</p>
</pre></div>
</div>
<p>Note that the <strong>only</strong> reliable way to configure MathJax is to use an
-in-line configuration of the type discussed above. You should <strong>not</strong>
-call <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> directly in your code, as it will
-not run at the correct time — it will either run too soon, in which
-case <tt class="docutils literal"><span class="pre">MathJax</span></tt> may not be defined and the function will throw an
-error, or it will run too late, after MathJax has already finished its
-configuration process, so your changes will not have the desired
-effect.</p>
+in-line configuration block of the type discussed above. You should
+<strong>not</strong> call <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> directly in your code, as it will
+not run at the correct time — it will either run too soon, in which case
+<tt class="docutils literal"><span class="pre">MathJax</span></tt> may not be defined and the function will throw an error, or it
+will run too late, after MathJax has already finished its configuration
+process, so your changes will not have the desired effect.</p>
<div class="section" id="mathjax-and-greasemonkey">
<h2>MathJax and GreaseMonkey<a class="headerlink" href="#mathjax-and-greasemonkey" title="Permalink to this headline">¶</a></h2>
<p>You can use techniques like the ones discussed above to good effect in
@@ -132,8 +129,7 @@ major browsers:</p>
that loads a <tt class="docutils literal"><span class="pre">file://</span></tt> URL into a page that comes from the web (for
security reasons). That means that you can’t have your GreaseMonkey
script load a local copy of MathJax, so you have to refer to a
-server-based copy. In the scripts below, you need to insert the URL
-of a copy of MathJax from your own server.</p>
+server-based copy. The MathJax CDN works nicely for this.</p>
<hr class="docutils" />
<p>Here is a script that runs MathJax in any document that contains
MathML (whether its includes MathJax or not). That allows
@@ -152,19 +148,15 @@ IE+MathPlayer.</p>
<span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagNameNS</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">?</span> <span class="kc">false</span> <span class="o">:</span>
<span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagNameNS</span><span class="p">(</span><span class="s2">"http://www.w3.org/1998/Math/MathML"</span><span class="p">,</span><span class="s2">"math"</span><span class="p">).</span><span class="nx">length</span> <span class="o">></span> <span class="mi">0</span><span class="p">)))</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">script</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">"script"</span><span class="p">);</span>
- <span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"http://www.yoursite.edu/MathJax/MathJax.js"</span><span class="p">;</span> <span class="c1">// put your URL here</span>
- <span class="kd">var</span> <span class="nx">config</span> <span class="o">=</span> <span class="s1">'MathJax.Hub.Config({'</span> <span class="o">+</span>
- <span class="s1">'extensions:["mml2jax.js"],'</span> <span class="o">+</span>
- <span class="s1">'jax:["input/MathML","output/HTML-CSS"]'</span> <span class="o">+</span>
- <span class="s1">'});'</span> <span class="o">+</span>
- <span class="s1">'MathJax.Hub.Startup.onload()'</span><span class="p">;</span>
+ <span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full"</span><span class="p">;</span>
+ <span class="kd">var</span> <span class="nx">config</span> <span class="o">=</span> <span class="s1">'MathJax.Hub.Startup.onload()'</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">opera</span><span class="p">)</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">config</span><span class="p">}</span> <span class="k">else</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">text</span> <span class="o">=</span> <span class="nx">config</span><span class="p">}</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s2">"head"</span><span class="p">)[</span><span class="mi">0</span><span class="p">].</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">script</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
-<p><strong>Source</strong>: <a class="reference external" href="_statis/mathjax_mathml.user.js">mathjax_mathml.user.js</a></p>
+<p><strong>Source</strong>: <a class="reference external" href="_static/mathjax_mathml.user.js">mathjax_mathml.user.js</a></p>
<hr class="docutils" />
<p>Here is a script that runs MathJax in Wikipedia pages after first
converting the math images to their original TeX code.</p>
@@ -179,33 +171,29 @@ converting the math images to their original TeX code.</p>
<span class="c1">//</span>
<span class="c1">// Replace the images with MathJax scripts of type math/tex</span>
<span class="c1">//</span>
- <span class="kd">var</span> <span class="nx">images</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s1">'img'</span><span class="p">);</span>
+ <span class="kd">var</span> <span class="nx">images</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s1">'img'</span><span class="p">),</span> <span class="nx">count</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="nx">images</span><span class="p">.</span><span class="nx">length</span> <span class="o">-</span> <span class="mi">1</span><span class="p">;</span> <span class="nx">i</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">--</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">img</span> <span class="o">=</span> <span class="nx">images</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">img</span><span class="p">.</span><span class="nx">className</span> <span class="o">===</span> <span class="s2">"tex"</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">script</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">"script"</span><span class="p">);</span> <span class="nx">script</span><span class="p">.</span><span class="nx">type</span> <span class="o">=</span> <span class="s2">"math/tex"</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">opera</span><span class="p">)</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">img</span><span class="p">.</span><span class="nx">alt</span><span class="p">}</span> <span class="k">else</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">text</span> <span class="o">=</span> <span class="nx">img</span><span class="p">.</span><span class="nx">alt</span><span class="p">}</span>
- <span class="nx">img</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">.</span><span class="nx">replaceChild</span><span class="p">(</span><span class="nx">script</span><span class="p">,</span><span class="nx">img</span><span class="p">);</span>
+ <span class="nx">img</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">.</span><span class="nx">replaceChild</span><span class="p">(</span><span class="nx">script</span><span class="p">,</span><span class="nx">img</span><span class="p">);</span> <span class="nx">count</span><span class="o">++</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
- <span class="c1">//</span>
- <span class="c1">// Load MathJax and have it process the page</span>
- <span class="c1">//</span>
- <span class="kd">var</span> <span class="nx">script</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">"script"</span><span class="p">);</span>
- <span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"http://www.yoursite.edu/MathJax/MathJax.js"</span><span class="p">;</span> <span class="c1">// put your URL here</span>
- <span class="kd">var</span> <span class="nx">config</span> <span class="o">=</span> <span class="s1">'MathJax.Hub.Config({'</span> <span class="o">+</span>
- <span class="s1">'config: ["MMLorHTML.js"],'</span> <span class="o">+</span>
- <span class="s1">'extensions:["TeX/noErrors.js","TeX/noUndefined.js",'</span> <span class="o">+</span>
- <span class="s1">'"TeX/AMSmath.js","TeX/AMSsymbols.js"],'</span> <span class="o">+</span>
- <span class="s1">'jax:["input/TeX"]'</span> <span class="o">+</span>
- <span class="s1">'});'</span> <span class="o">+</span>
- <span class="s1">'MathJax.Hub.Startup.onload()'</span><span class="p">;</span>
- <span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">opera</span><span class="p">)</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">config</span><span class="p">}</span> <span class="k">else</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">text</span> <span class="o">=</span> <span class="nx">config</span><span class="p">}</span>
- <span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s2">"head"</span><span class="p">)[</span><span class="mi">0</span><span class="p">].</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">script</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="nx">count</span><span class="p">)</span> <span class="p">{</span>
+ <span class="c1">//</span>
+ <span class="c1">// Load MathJax and have it process the page</span>
+ <span class="c1">//</span>
+ <span class="kd">var</span> <span class="nx">script</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">"script"</span><span class="p">);</span>
+ <span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full"</span><span class="p">;</span>
+ <span class="kd">var</span> <span class="nx">config</span> <span class="o">=</span> <span class="s1">'MathJax.Hub.Startup.onload()'</span><span class="p">;</span>
+ <span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">opera</span><span class="p">)</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">config</span><span class="p">}</span> <span class="k">else</span> <span class="p">{</span><span class="nx">script</span><span class="p">.</span><span class="nx">text</span> <span class="o">=</span> <span class="nx">config</span><span class="p">}</span>
+ <span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s2">"head"</span><span class="p">)[</span><span class="mi">0</span><span class="p">].</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">script</span><span class="p">);</span>
+ <span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
-<p><strong>Source</strong>: <a class="reference external" href="_statis/mathjax_wikipedia.user.js">mathjax_wikipedia.user.js</a></p>
+<p><strong>Source</strong>: <a class="reference external" href="_static/mathjax_wikipedia.user.js">mathjax_wikipedia.user.js</a></p>
</div>
</div>
@@ -229,11 +217,6 @@ converting the math images to their original TeX code.</p>
<h4>Next topic</h4>
<p class="topless"><a href="typeset.html"
title="next chapter">Modifying Math on the Page</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/dynamic.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -267,8 +250,9 @@ converting the math images to their original TeX code.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/genindex.html b/docs/html/genindex.html
@@ -21,9 +21,11 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -46,25 +48,25 @@
<a href="#A"><strong>A</strong></a> | <a href="#C"><strong>C</strong></a> | <a href="#D"><strong>D</strong></a> | <a href="#E"><strong>E</strong></a> | <a href="#F"><strong>F</strong></a> | <a href="#G"><strong>G</strong></a> | <a href="#H"><strong>H</strong></a> | <a href="#I"><strong>I</strong></a> | <a href="#J"><strong>J</strong></a> | <a href="#L"><strong>L</strong></a> | <a href="#M"><strong>M</strong></a> | <a href="#N"><strong>N</strong></a> | <a href="#P"><strong>P</strong></a> | <a href="#Q"><strong>Q</strong></a> | <a href="#R"><strong>R</strong></a> | <a href="#S"><strong>S</strong></a> | <a href="#T"><strong>T</strong></a> | <a href="#U"><strong>U</strong></a> | <a href="#W"><strong>W</strong></a>
</div>
<h2 id="A">A</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/html.html#addElement">addElement()</a></dt>
<dt><a href="api/html.html#addText">addText()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/object.html#Augment">Augment()</a></dt>
</dl></td>
</tr></table>
<h2 id="C">C</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/queue.html#call">call()</a></dt>
<dt><a href="glossary.html#term-callback">Callback</a></dt>
<dt><a href="glossary.html#term-callback-queue">Callback Queue</a></dt>
<dt><a href="glossary.html#term-callback-signal">Callback Signal</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/object.html#can">can()</a></dt>
<dt><a href="api/message.html#Clear">Clear()</a></dt>
<dt><a href="api/hub.html#Config">Config()</a></dt>
@@ -72,84 +74,86 @@
</tr></table>
<h2 id="D">D</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/callback.html#Delay">Delay()</a></dt>
</dl></td>
</tr></table>
<h2 id="E">E</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/html.html#Element">Element()</a></dt>
<dt><a href="api/signal.html#ExecuteHook">ExecuteHook()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/callback.html#executeHooks">executeHooks()</a></dt>
</dl></td>
</tr></table>
<h2 id="F">F</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
+ <dt><a href="api/message.html#File">File()</a></dt>
<dt><a href="api/ajax.html#fileURL">fileURL()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
+ <dt><a href="api/message.html#filterText">filterText()</a></dt>
<dt><a href="api/hub.html#formatError">formatError()</a></dt>
</dl></td>
</tr></table>
<h2 id="G">G</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/hub.html#getAllJax">getAllJax()</a></dt>
<dt><a href="api/hub.html#getJaxByInputType">getJaxByInputType()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/hub.html#getJaxByType">getJaxByType()</a></dt>
<dt><a href="api/hub.html#getJaxFor">getJaxFor()</a></dt>
</dl></td>
</tr></table>
<h2 id="H">H</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/object.html#has">has()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="glossary.html#term-html-css">HTML-CSS</a></dt>
</dl></td>
</tr></table>
<h2 id="I">I</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/object.html#Init">Init()</a></dt>
<dt><a href="api/hub.html#Insert">Insert()</a></dt>
<dt><a href="api/signal.html#Interest">Interest()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/object.html#isa">isa()</a></dt>
<dt><a href="api/hub.html#isJax">isJax()</a></dt>
</dl></td>
</tr></table>
<h2 id="J">J</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="glossary.html#term-jax">jax</a></dt>
</dl></td>
</tr></table>
<h2 id="L">L</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="glossary.html#term-latex">LaTeX</a></dt>
<dt><a href="api/ajax.html#Load">Load()</a></dt>
<dt><a href="api/ajax.html#loadComplete">loadComplete()</a></dt>
<dt><a href="api/ajax.html#loadError">loadError()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/ajax.html#loadHook">loadHook()</a></dt>
<dt><a href="api/ajax.html#loadTimeout">loadTimeout()</a></dt>
<dt><a href="api/message.html#Log">Log()</a></dt>
@@ -157,66 +161,66 @@
</tr></table>
<h2 id="M">M</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="glossary.html#term-mathml">MathML</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/signal.html#MessageHook">MessageHook()</a></dt>
</dl></td>
</tr></table>
<h2 id="N">N</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/signal.html#NoInterest">NoInterest()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
- <dt><a href="api/jax.html#noTranslate">noTranslate()</a></dt>
-</dl></td>
</tr></table>
<h2 id="P">P</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/signal.html#Post">Post()</a></dt>
+ <dt><a href="api/ajax.html#Preloading">Preloading()</a></dt>
<dt><a href="api/hub.html#PreProcess">PreProcess()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/hub.html#Process">Process()</a></dt>
<dt><a href="api/queue.html#Push">Push()</a></dt>
</dl></td>
</tr></table>
<h2 id="Q">Q</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/callback.html#Queue">Queue()</a></dt>
</dl></td>
</tr></table>
<h2 id="R">R</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/jax.html#Register">Register()</a></dt>
+ <dt><a href="api/message.html#Remove">Remove()</a></dt>
<dt><a href="api/hub.html#Reprocess">Reprocess()</a></dt>
- <dt><a href="api/ajax.html#Require">Require()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
+ <dt><a href="api/ajax.html#Require">Require()</a></dt>
<dt><a href="api/callback.html#reset">reset()</a></dt>
<dt><a href="api/queue.html#Resume">Resume()</a></dt>
</dl></td>
</tr></table>
<h2 id="S">S</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/message.html#Set">Set()</a></dt>
+ <dt><a href="api/html.html#setText">setText()</a></dt>
<dt><a href="api/callback.html#Signal">Signal()</a></dt>
<dt><a href="api/elementjax.html#SourceElement">SourceElement()</a></dt>
<dt><a href="api/jax.html#Startup">Startup()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="glossary.html#term-stix">STIX</a></dt>
<dt><a href="api/ajax.html#Styles">Styles()</a></dt>
<dt><a href="api/object.html#Subclass">Subclass()</a></dt>
@@ -225,28 +229,28 @@
</tr></table>
<h2 id="T">T</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="glossary.html#term-tex">TeX</a></dt>
<dt><a href="api/elementjax.html#Text">Text()</a></dt>
<dt><a href="api/html.html#TextNode">TextNode()</a></dt>
</dl></td>
- <td width="33%" valign="top"><dl>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/jax.html#Translate">Translate()</a></dt>
<dt><a href="api/hub.html#Typeset">Typeset()</a></dt>
</dl></td>
</tr></table>
<h2 id="U">U</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/hub.html#Update">Update()</a></dt>
</dl></td>
</tr></table>
<h2 id="W">W</h2>
-<table width="100%" class="indextable genindextable"><tr>
- <td width="33%" valign="top"><dl>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="api/queue.html#wait">wait()</a></dt>
</dl></td>
</tr></table>
@@ -288,8 +292,9 @@
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/glossary.html b/docs/html/glossary.html
@@ -21,10 +21,12 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="prev" title="CSS Style Objects" href="CSS-styles.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -118,11 +120,6 @@ formats for mathematical journals, articles, and books.</p>
<h4>Previous topic</h4>
<p class="topless"><a href="CSS-styles.html"
title="previous chapter">CSS Style Objects</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/glossary.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -153,8 +150,9 @@ formats for mathematical journals, articles, and books.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/index.html b/docs/html/index.html
@@ -21,10 +21,12 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="#" />
<link rel="next" title="What is MathJax?" href="mathjax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -55,6 +57,8 @@ MathML that works in all modern browsers.</p>
<li class="toctree-l1"><a class="reference internal" href="start.html">Getting Started with MathJax</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installing and Testing MathJax</a></li>
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Loading and Configuring MathJax</a></li>
+<li class="toctree-l1"><a class="reference internal" href="config-files.html">Common MathJax Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="options/index.html">MathJax Configuration Options</a></li>
<li class="toctree-l1"><a class="reference internal" href="platforms/index.html">Using MathJax in Web Platforms</a></li>
</ul>
</div>
@@ -71,8 +75,18 @@ MathML that works in all modern browsers.</p>
</ul>
</div>
</div>
+<div class="section" id="upgrading-mathjax">
+<span id="id1"></span><h2>Upgrading MathJax<a class="headerlink" href="#upgrading-mathjax" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="whats-new.html">What’s New in MathJax v1.1</a></li>
+<li class="toctree-l1"><a class="reference internal" href="upgrade.html">Migrating from MathJax v1.0 to v1.1</a></li>
+<li class="toctree-l1"><a class="reference internal" href="jsMath.html">Converting to MathJax from jsMath</a></li>
+</ul>
+</div>
+</div>
<div class="section" id="advanced-topics">
-<span id="id1"></span><h2>Advanced Topics<a class="headerlink" href="#advanced-topics" title="Permalink to this headline">¶</a></h2>
+<span id="id2"></span><h2>Advanced Topics<a class="headerlink" href="#advanced-topics" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="model.html">The MathJax Processing Model</a></li>
@@ -87,11 +101,6 @@ MathML that works in all modern browsers.</p>
<li class="toctree-l1"><a class="reference internal" href="api/index.html">Details of the MathJax API</a></li>
</ul>
</div>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="jsMath.html">Converting to MathJax from jsMath</a></li>
-</ul>
-</div>
</div>
<div class="section" id="reference-pages">
<h2>Reference Pages<a class="headerlink" href="#reference-pages" title="Permalink to this headline">¶</a></h2>
@@ -104,9 +113,15 @@ MathML that works in all modern browsers.</p>
</div>
<ul class="simple">
<li><a class="reference internal" href="search.html"><em>Search</em></a></li>
+<li><a class="reference external" href="http://www.mathjax.org/help/user">User Help Pages</a>:<ul>
+<li><a class="reference external" href="http://www.mathjax.org/help/fonts">MathJax Font Help</a></li>
+<li><a class="reference external" href="http://www.mathjax.org/help/menu">MathJax Contextual Menu</a></li>
+<li><a class="reference external" href="http://www.mathjax.org/help/zoom">MathJax Zoom Feature</a></li>
+</ul>
+</li>
</ul>
<hr class="docutils" />
-<p>This version of the documentation was built January 08, 2011.</p>
+<p>This version of the documentation was built March 07, 2011.</p>
</div>
</div>
@@ -122,6 +137,9 @@ MathML that works in all modern browsers.</p>
<li><a class="reference internal" href="#basic-usage">Basic Usage</a><ul>
</ul>
</li>
+<li><a class="reference internal" href="#upgrading-mathjax">Upgrading MathJax</a><ul>
+</ul>
+</li>
<li><a class="reference internal" href="#advanced-topics">Advanced Topics</a><ul>
</ul>
</li>
@@ -135,11 +153,6 @@ MathML that works in all modern browsers.</p>
<h4>Next topic</h4>
<p class="topless"><a href="mathjax.html"
title="next chapter">What is MathJax?</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/index.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -170,8 +183,9 @@ MathML that works in all modern browsers.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/installation.html b/docs/html/installation.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="Loading and Configuring MathJax" href="configuration.html" />
<link rel="prev" title="Getting Started" href="start.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -49,6 +51,10 @@
<div class="section" id="installing-and-testing-mathjax">
<span id="installation"></span><h1>Installing and Testing MathJax<a class="headerlink" href="#installing-and-testing-mathjax" title="Permalink to this headline">¶</a></h1>
+<p>The easiest way to use MathJax is to link directly to the MathJax
+distributed network service (see <a class="reference internal" href="start.html#mathjax-cdn"><em>Using the MathJax CDN</em></a>). In that case, there is no need to install MathJax
+yourself, and you can begin using MathJax right away; skip this document on
+installation and go directly to <a class="reference internal" href="configuration.html#loading"><em>Configuring MathJax</em></a>.</p>
<p>MathJax can be loaded from a public web server or privately from your hard drive
or other local media. To use MathJax in either way, you will need to obtain a
copy of MathJax and its font package. There are three ways to do this: via
@@ -56,68 +62,70 @@ copy of MathJax and its font package. There are three ways to do this: via
is easier to keep your installation up to date with these tools.</p>
<div class="section" id="obtaining-mathjax-via-git">
<span id="getting-mathjax-git"></span><h2>Obtaining MathJax via Git<a class="headerlink" href="#obtaining-mathjax-via-git" title="Permalink to this headline">¶</a></h2>
-<p>The easiest way to get MathJax and keep it up to date is to use the <a class="reference external" href="http://git-scm.com/">Git</a> version control system to access our <a class="reference external" href="http://github.com/mathjax/mathjax">GitHub repository</a>. Use the commands</p>
-<div class="highlight-sh"><div class="highlight"><pre>git clone git://github.com/mathjax/MathJax.git mathjax
+<p>The easiest way to get MathJax and keep it up to date is to use the <a class="reference external" href="http://git-scm.com/">Git</a> version control system to access our <a class="reference external" href="http://github.com/mathjax/mathjax">GitHub repository</a>. Use the command</p>
+<div class="highlight-sh"><div class="highlight"><pre>git clone git://github.com/mathjax/MathJax.git MathJax
</pre></div>
</div>
<p>to obtain and set up a copy of MathJax. Note that there is no longer
a <tt class="docutils literal"><span class="pre">fonts.zip</span></tt> file, and that the <tt class="docutils literal"><span class="pre">fonts</span></tt> directory is now part of
the repository itself.</p>
<p>Whenever you want to update MathJax, you can now use</p>
-<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>mathjax
+<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>MathJax
git remote show origin
</pre></div>
</div>
<p>to check if there are updates to MathJax (this will print several
lines of data, but the last line should tell you if your copy is up to
date or out of date). If MathJax needs updating, use</p>
-<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>mathjax
+<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>MathJax
git pull origin
</pre></div>
</div>
<p>to udpate your copy of MathJax to the current release version. If you
keep MathJax updated in this way, you will be sure that you have the
latest bug fixes and new features as they become available.</p>
-<p>This gets you the current development copy of MathJax, which is the
-“bleeding-edge” version that contains all the latest changes to
-MathJax. At times, however, these may be less stable than the
-“release” version. If you prefer to use the most stable version (that
-may not include all the latest patches and features), use <tt class="docutils literal"><span class="pre">git</span> <span class="pre">tag</span>
-<span class="pre">-l</span></tt> to see all versions and use <tt class="docutils literal"><span class="pre">git</span> <span class="pre">checkout</span> <span class="pre"><tag_name></span></tt> to
-checkout that version of MathJax. When you want to upgrade to a new
-release, you will need to repeat this for the latest release tag.</p>
+<p>This gets you the current development copy of MathJax, which is the version
+that contains all the latest changes to MathJax. Although we try to make
+sure this version is a stable and usable version of MathJax, it is under
+active development, and at times it may be less stable than the “release”
+version. If you prefer to use the most stable version (that may not
+include all the latest patches and features), use <tt class="docutils literal"><span class="pre">git</span> <span class="pre">tag</span> <span class="pre">-l</span></tt> to see all
+versions and use <tt class="docutils literal"><span class="pre">git</span> <span class="pre">checkout</span> <span class="pre"><tag_name></span></tt> to checkout that version of
+MathJax. When you want to upgrade to a new release, you will need to
+repeat this for the latest release tag.</p>
</div>
<div class="section" id="obtaining-mathjax-via-svn">
<span id="getting-mathjax-svn"></span><h2>Obtaining MathJax via SVN<a class="headerlink" href="#obtaining-mathjax-via-svn" title="Permalink to this headline">¶</a></h2>
<p>If you are more comfortable with the <a class="reference external" href="http://subversion.apache.org/">subversion</a> source control system, you may want
to use GitHub’s <tt class="docutils literal"><span class="pre">svn</span></tt> service to obtain MathJax. If you want to get the
-latest revision using <tt class="docutils literal"><span class="pre">svn</span></tt>, use the commands</p>
-<div class="highlight-sh"><div class="highlight"><pre>svn checkout http://svn.github.com/mathjax/MathJax.git mathjax
+latest revision using <tt class="docutils literal"><span class="pre">svn</span></tt>, use the command</p>
+<div class="highlight-sh"><div class="highlight"><pre>svn checkout http://svn.github.com/mathjax/MathJax.git MathJax
</pre></div>
</div>
<p>to obtain and set up a copy of MathJax. Note that there is no longer
a <tt class="docutils literal"><span class="pre">fonts.zip</span></tt> file, and that the <tt class="docutils literal"><span class="pre">fonts</span></tt> directory is now part of
the repository itself.</p>
<p>Whenever you want to update MathJax, you can now use</p>
-<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>mathjax
+<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>MathJax
svn status -u
</pre></div>
</div>
<p>to check if there are updates to MathJax. If MathJax needs updating,
use</p>
-<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>mathjax
+<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>MathJax
svn update
</pre></div>
</div>
<p>to udpate your copy of MathJax to the current release version. If you
keep MathJax updated in this way, you will be sure that you have the
latest bug fixes and new features as they become available.</p>
-<p>This gets you the current development copy of MathJax, which is the
-“bleeding-edge” version that contains all the latest changes to
-MathJax. At times, however, these may be less stable than the
-“release” version. If you prefer to use one of the tagged releases
-instead, then either use <tt class="docutils literal"><span class="pre">git</span></tt> as described above, or one of the
-archive files as described below. You can use</p>
+<p>This gets you the current development copy of MathJax, which is the version
+that contains all the latest changes to MathJax. Although we try to make
+sure this version is a stable and usable version of MathJax, it is under
+active development, and at times it may be less stable than the “release”
+version. If you prefer to use one of the tagged releases instead, then
+either use <tt class="docutils literal"><span class="pre">git</span></tt> as described above, or one of the archive files as
+described below. You can use</p>
<div class="highlight-sh"><div class="highlight"><pre>svn checkout http://svn.github.com/mathjax/MathJax.git@nnn mathjax
</pre></div>
</div>
@@ -142,10 +150,18 @@ it locally rather then through a web server). One natural location is
to put it at the top level of your web server’s hierarchy. That would
let you refer to the main MathJax file as <tt class="docutils literal"><span class="pre">/MathJax/MathJax.js</span></tt> from
within any page on your server.</p>
-<p>From the <a class="reference external" href="http://github.com/mathjax/mathjax/">MathJax GitHub download link</a> (the big download button at the
+<p>From the <a class="reference external" href="http://github.com/mathjax/mathjax/">MathJax GitHub download link</a> (the download button at the
right), you can also select the <tt class="docutils literal"><span class="pre">Download</span> <span class="pre">.tar.gz</span></tt> or <tt class="docutils literal"><span class="pre">Download</span>
-<span class="pre">.zip</span></tt> buttons to get a copy of the current “bleeding-edge” version of
+<span class="pre">.zip</span></tt> buttons to get a copy of the current development version of
MathJax that contains all the latest changes and bug-fixes.</p>
+<p>If a packaged release recevies any important updates, then those updates
+will be part of the <cite>branch</cite> for that version. The link to the <tt class="docutils literal"><span class="pre">.zip</span></tt>
+file in the download list will be the original release version, not the
+patched version. To obtain the patched version, use the <cite>Branches</cite> drop
+down menu (at the far left of the menus within the page) to select the the
+release branch, and then use the downlaod button and the <tt class="docutils literal"><span class="pre">Downlaod</span>
+<span class="pre">.tar.gz</span></tt> or <tt class="docutils literal"><span class="pre">Download</span> <span class="pre">.zip</span></tt> button to get the latest patched version of
+that release.</p>
</div>
<div class="section" id="testing-your-installation">
<h2>Testing your installation<a class="headerlink" href="#testing-your-installation" title="Permalink to this headline">¶</a></h2>
@@ -161,8 +177,7 @@ properly. If you have installed MathJax on a server, use the web
address for those files rather than opening them locally. When you
view the <tt class="docutils literal"><span class="pre">index.html</span></tt> file, you should see (after a few moments) a
message that MathJax appears to be working. If not, you should check
-that the files have been transferred to the server completely, that
-the fonts archive has been unpacked in the correct location, and that
+that the files have been transferred to the server completely, and that
the permissions allow the server to access the files and folders that
are part of the MathJax directory (be sure to verify the MathJax
folder’s permissions as well). Checking the server logs may help
@@ -178,22 +193,19 @@ a different site. For example, a departmental server at
installation at <tt class="docutils literal"><span class="pre">www.yourcollege.edu</span></tt> rather than installing a
separate copy on the departmental machine. MathJax can certainly
be loaded from another server, but there is one imporant caveat —
-Firefox’s same-origin security policy for cross-domain scripting.</p>
-<p>Firefox’s interpretation of the same-origin policy is more strict than
-most other browsers, and it affects how fonts are loaded with the
-<cite>@font-face</cite> CSS directive. MathJax uses this directive to load
-web-based math fonts into a page when the user doesn’t have them
-installed locally on their own computer. Firefox’s security policy,
-however, only allows this when the fonts come from the same server as
-the web page itself, so if you load MathJax (and hence its web fonts)
-from a different server, Firefox won’t be able to access those web
-fonts. In this case, MathJax will pause while waiting for the font to
-download (which will never happen) and will time out after about 15
-seconds for each font it tries to access. Typically that is three or
-four fonts, so your Firefox users will experience a minute or so
-delay before mathematics is displayed, and then it will probably
-display incorrectly because the browser doesn’t have access to the
-correct fonts.</p>
+Firefox’s and IE9’s same-origin security policy for cross-domain scripting.</p>
+<p>Firefox’s interpretation of the same-origin policy is more strict than most
+other browsers, and it affects how fonts are loaded with the <cite>@font-face</cite>
+CSS directive. MathJax uses this directive to load web-based math fonts
+into a page when the user doesn’t have them installed locally on their own
+computer. Firefox’s security policy, however, only allows this when the
+fonts come from the same server as the web page itself, so if you load
+MathJax (and hence its web fonts) from a different server, Firefox won’t be
+able to access those web fonts. In this case, MathJax will pause while
+waiting for the font to download (which will never happen); it will time
+out after about 5 seconds and switch to image fonts as a fallback.
+Similarly, IE9 has a similar same-origin policy in its <cite>IE9 standards
+mode</cite>, so it exhibits this same behavior.</p>
<p>There is a solution to this, however, if you manage the server where
MathJax is installed, and if that server is running the <a class="reference external" href="http://www.apache.org/">Apache web
server</a>. In the remote server’s
@@ -205,17 +217,16 @@ Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch></pre>
</div>
-<p>and make sure the permissions allow the server to read this file.
-(The file’s name starts with a period, which causes it to be an
-“invisible” file on unix-based operating systems. Some systems,
-particularly graphic user interfaces, may not allow you to create such
-files, so you might need to use the command-line interface to
-accomplish this.)</p>
-<p>This file should make it possible for pages at other sites to load
-MathJax from this server in such a way that Firefox will be able to
-download the web-based fonts. If you want to restrict the sites that
-can access the web fonts, change the <tt class="docutils literal"><span class="pre">Access-Control-Allow-Origin</span></tt>
-line to something like:</p>
+<p>and make sure the permissions allow the server to read this file. (The
+file’s name starts with a period, which causes it to be an “invisible” file
+on unix-based operating systems. Some systems, particularly those with
+graphical user interfaces, may not allow you to create such files, so you
+might need to use the command-line interface to accomplish this.)</p>
+<p>This file should make it possible for pages at other sites to load MathJax
+from this server in such a way that Firefox and IE9 will be able to
+download the web-based fonts. If you want to restrict the sites that can
+access the web fonts, change the <tt class="docutils literal"><span class="pre">Access-Control-Allow-Origin</span></tt> line to
+something like:</p>
<div class="highlight-python"><pre>Header set Access-Control-Allow-Origin "http://www.math.yourcollege.edu"</pre>
</div>
<p>so that only pages at <tt class="docutils literal"><span class="pre">www.math.yourcollege.edu</span></tt> will be able to
@@ -223,8 +234,8 @@ download the fonts from this site. See the open font library
discussion of <a class="reference external" href="http://openfontlibrary.org/wiki/Web_Font_linking_and_Cross-Origin_Resource_Sharing">web-font linking</a>
for more details.</p>
</div>
-<div class="section" id="forefox-and-local-fonts">
-<span id="ff-local-fonts"></span><h2>Forefox and Local Fonts<a class="headerlink" href="#forefox-and-local-fonts" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="firefox-and-local-fonts">
+<span id="ff-local-fonts"></span><h2>Firefox and local fonts<a class="headerlink" href="#firefox-and-local-fonts" title="Permalink to this headline">¶</a></h2>
<p>Firefox’s same-origin security policy affects its ability to load
web-based fonts, as described above. This has implications not only
to cross-domain loading of MathJax, but also to using MathJax locally
@@ -242,6 +253,26 @@ containing the page that uses MathJax. This is an unfortunate
restriction, but it is a limitiation imposed by Firefox’s security
model that MathJax can not circumvent. Currently, this is not a
problem for other browsers.</p>
+<p>One solution to this problem is to install the MathJax fonts locally, so
+that Firefox will not have to use web-based fonts in the first place. To
+do that, either install the <a class="reference external" href="http://stixfonts.org">STIX fonts</a>, or copy
+the fonts from <tt class="docutils literal"><span class="pre">MathJax/fonts/HTML-CSS/TeX/otf</span></tt> into your systems fonts
+directory and restart your browser (see the <a class="reference external" href="http://www.mathjax.org/help/fonts">MathJax fonts help page</a> for details).</p>
+</div>
+<div class="section" id="ie9-and-remote-fonts">
+<h2>IE9 and remote fonts<a class="headerlink" href="#ie9-and-remote-fonts" title="Permalink to this headline">¶</a></h2>
+<p>IE9’s same-origin policy affects its ability to load web-based fonts, as
+described above. This has implications not ony to cross-domain loading of
+MathJax, but also to the case where you view a local page (with a
+<tt class="docutils literal"><span class="pre">file://</span></tt> URL) that accesses MathJax from a remote site, like the MathJax
+CDN service. In this case, IE9 does <strong>not</strong> honor the
+<tt class="docutils literal"><span class="pre">Access-Control-Allow-Origin</span></tt> setting of the remote server (as it would
+if the web page came from an <tt class="docutils literal"><span class="pre">http://</span></tt> URL), and so it <strong>never</strong> allows the
+font to be accessed.</p>
+<p>One solution to this problem is to install the MathJax fonts locally so
+that MathJax doesn’t have to use web-based fonts in the first place. Your
+best bet is to install the <a class="reference external" href="http://stixfonts.org">STIX fonts</a> on your system (see the <a class="reference external" href="http://www.mathjax.org/help/fonts">MathJax
+fonts help page</a> for details).</p>
</div>
</div>
@@ -259,7 +290,8 @@ problem for other browsers.</p>
<li><a class="reference internal" href="#obtaining-mathjax-via-an-archive">Obtaining MathJax via an archive</a></li>
<li><a class="reference internal" href="#testing-your-installation">Testing your installation</a></li>
<li><a class="reference internal" href="#notes-about-shared-installations">Notes about shared installations</a></li>
-<li><a class="reference internal" href="#forefox-and-local-fonts">Forefox and Local Fonts</a></li>
+<li><a class="reference internal" href="#firefox-and-local-fonts">Firefox and local fonts</a></li>
+<li><a class="reference internal" href="#ie9-and-remote-fonts">IE9 and remote fonts</a></li>
</ul>
</li>
</ul>
@@ -270,11 +302,6 @@ problem for other browsers.</p>
<h4>Next topic</h4>
<p class="topless"><a href="configuration.html"
title="next chapter">Loading and Configuring MathJax</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/installation.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -308,8 +335,9 @@ problem for other browsers.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/jsMath.html b/docs/html/jsMath.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
- <link rel="next" title="Describing HTML snippets" href="HTML-snippets.html" />
- <link rel="prev" title="The MathJax Object-Oriented Programming Model" href="api/object.html" />
+ <link rel="next" title="The MathJax Processing Model" href="model.html" />
+ <link rel="prev" title="Migrating from MathJax v1.0 to v1.1" href="upgrade.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -33,10 +35,10 @@
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
- <a href="HTML-snippets.html" title="Describing HTML snippets"
+ <a href="model.html" title="The MathJax Processing Model"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="api/object.html" title="The MathJax Object-Oriented Programming Model"
+ <a href="upgrade.html" title="Migrating from MathJax v1.0 to v1.1"
accesskey="P">previous</a> |</li>
<li><a href="index.html">MathJax v1.1 documentation</a> »</li>
</ul>
@@ -55,20 +57,36 @@ processing the mathematics within the webpage once it has been loaded
in the browser by a user viewing your web pages. If you are using
jsMath with its <tt class="docutils literal"><span class="pre">tex2math</span></tt> preprocessor, then switching to MathJax
should be easy, and is simply a matter of configuring MathJax
-appropriately. See the section on <a class="reference internal" href="configuration.html#configuration"><em>Configuring MathJax</em></a> for details about loading and configuring MathJax.</p>
+appropriately. See the section on <a class="reference internal" href="configuration.html#loading"><em>Loading and Configuring MathJax</em></a> for details.</p>
<p>On the other hand, if you are using jsMath’s <tt class="docutils literal"><span class="pre"><span</span>
<span class="pre">class="math">...</span></span></tt> and <tt class="docutils literal"><span class="pre"><div</span> <span class="pre">class="math">...</div></span></tt> tags to
mark the mathematics in your document, then you should use MathJax’s
<tt class="docutils literal"><span class="pre">jsMath2jax</span></tt> preprocessor when you switch to MathJax. To do this,
include <tt class="docutils literal"><span class="pre">"jsMath2jax.js"</span></tt> in the <cite>extensions</cite> array of your
-configuration, with the <cite>jax</cite> array set to include <tt class="docutils literal"><span class="pre">"input/TeX"</span></tt>.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"jsMath2jax.js"</span><span class="p">],</span>
-<span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span> <span class="p">...]</span>
+configuration, with the <cite>jax</cite> array set to include <tt class="docutils literal"><span class="pre">"input/TeX"</span></tt>. For
+example,</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"jsMath2jax.js"</span><span class="p">]</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script</span>
+<span class="nt"> </span><span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"</span><span class="nt">></span>
+<span class="nt"></script></span>
</pre></div>
</div>
+<p>would load the <tt class="docutils literal"><span class="pre">jsMath2jax</span></tt> preprocessor, along with a configuration
+file that processes TeX input and produces HTML-with-CSS output.</p>
<p>There are a few configuration options for <tt class="docutils literal"><span class="pre">jsMath2jax</span></tt>, which you
-can find in the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file, or in the <a class="reference internal" href="options/jsMath2jax.html#configure-jsmath2jax"><em>jsMath
+can find in the <tt class="docutils literal"><span class="pre">config/default.js</span></tt> file, or in the <a class="reference internal" href="options/jsMath2jax.html#configure-jsmath2jax"><em>jsMath
configuration options</em></a> section.</p>
+<p>If you are generating your jsMath documents programmatically, it would be
+better to convert from generating the jsMath <tt class="docutils literal"><span class="pre"><span></span></tt> and <tt class="docutils literal"><span class="pre"><div></span></tt> tags
+to producing the corresponding MathJax <tt class="docutils literal"><span class="pre"><script></span></tt> tags. You would use
+<tt class="docutils literal"><span class="pre"><script</span> <span class="pre">type="math/tex"></span></tt> in place of <tt class="docutils literal"><span class="pre"><span</span> <span class="pre">class="math"></span></tt> and
+<tt class="docutils literal"><span class="pre"><script</span> <span class="pre">type="math/tex;</span> <span class="pre">mode=display"></span></tt> in place of <tt class="docutils literal"><span class="pre"><div</span>
+<span class="pre">class="math"></span></tt>. See the section on <a class="reference internal" href="model.html#mathjax-script-tags"><em>How mathematics is stored in the
+page</em></a> for more details.</p>
</div>
@@ -78,16 +96,11 @@ configuration options</em></a> section.</p>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
- <p class="topless"><a href="api/object.html"
- title="previous chapter">The MathJax Object-Oriented Programming Model</a></p>
+ <p class="topless"><a href="upgrade.html"
+ title="previous chapter">Migrating from MathJax v1.0 to v1.1</a></p>
<h4>Next topic</h4>
- <p class="topless"><a href="HTML-snippets.html"
- title="next chapter">Describing HTML snippets</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/jsMath.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
+ <p class="topless"><a href="model.html"
+ title="next chapter">The MathJax Processing Model</a></p>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -112,17 +125,18 @@ configuration options</em></a> section.</p>
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
- <a href="HTML-snippets.html" title="Describing HTML snippets"
+ <a href="model.html" title="The MathJax Processing Model"
>next</a> |</li>
<li class="right" >
- <a href="api/object.html" title="The MathJax Object-Oriented Programming Model"
+ <a href="upgrade.html" title="Migrating from MathJax v1.0 to v1.1"
>previous</a> |</li>
<li><a href="index.html">MathJax v1.1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/mathjax.html b/docs/html/mathjax.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="Getting Started" href="start.html" />
<link rel="prev" title="MathJax Documentation" href="index.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -92,11 +94,6 @@ mathematics on your web pages interactive and dynamic.</p>
<h4>Next topic</h4>
<p class="topless"><a href="start.html"
title="next chapter">Getting Started</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/mathjax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -130,8 +127,9 @@ mathematics on your web pages interactive and dynamic.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/mathml.html b/docs/html/mathml.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="MathJax Output Formats" href="output.html" />
<link rel="prev" title="MathJax TeX and LaTeX Support" href="tex.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -50,7 +52,7 @@
<div class="section" id="mathjax-mathml-support">
<span id="mathml-support"></span><h1>MathJax MathML Support<a class="headerlink" href="#mathjax-mathml-support" title="Permalink to this headline">¶</a></h1>
<p>The support for <a class="reference internal" href="glossary.html#term-mathml"><em class="xref std std-term">MathML</em></a> in MathJax consists of three parts: the
-<cite>mml2jax</cite> preprocessor, the MathML input processor, and the NativeMML
+<cite>mml2jax</cite> preprocessor, the <cite>MathML</cite> input processor, and the <cite>NativeMML</cite>
output processor. The first of these looks for <tt class="docutils literal"><span class="pre"><math></span></tt> tags within
your document and marks them for later processing by MathJax. The
second converts the MathML to the internal format used by MathJax, and
@@ -65,7 +67,7 @@ MathML input processor with the HTML-CSS output processor to make
MathML available in browsers that don’t have native MathML support.
It is also possible to have MathJax select the output processor for
you so that MathML is used in those browsers that support it, while
-HTML-CSS is used for those that don’t. See the <a class="reference internal" href="configuration.html#common-configurations"><em>common
+HTML-CSS is used for those that don’t. See the <a class="reference internal" href="config-files.html#common-configurations"><em>common
configurations</em></a> section for details and
examples.</p>
<p>Of course it is also possible to use all three components together.
@@ -77,9 +79,9 @@ any of the other setup issues that make using native MathML
difficult. MathJax handles the setup and properly marks the
mathematics so that the browser will render it as MathML. In
addition, MathJax provides its contextual menu for the MathML, which
-lets the user zoom the mathematics for easier reading, get the copy
+lets the user zoom the mathematics for easier reading, get and copy
the source markup, and so on, so there is added value to using MathJax
-even whith a pure MathML workflow.</p>
+even with a pure MathML workflow.</p>
<div class="section" id="mathml-in-html-pages">
<h2>MathML in HTML pages<a class="headerlink" href="#mathml-in-html-pages" title="Permalink to this headline">¶</a></h2>
<p>For MathML that is handled via the pre-processor, you should not use
@@ -149,11 +151,6 @@ children of <tt class="docutils literal"><span class="pre">mrow</span></tt> or i
<h4>Next topic</h4>
<p class="topless"><a href="output.html"
title="next chapter">MathJax Output Formats</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/mathml.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -187,8 +184,9 @@ children of <tt class="docutils literal"><span class="pre">mrow</span></tt> or i
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/model.html b/docs/html/model.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="The MathJax Startup Sequence" href="startup.html" />
- <link rel="prev" title="The MathJax Community" href="community.html" />
+ <link rel="prev" title="Converting to MathJax from jsMath" href="jsMath.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -36,7 +38,7 @@
<a href="startup.html" title="The MathJax Startup Sequence"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="community.html" title="The MathJax Community"
+ <a href="jsMath.html" title="Converting to MathJax from jsMath"
accesskey="P">previous</a> |</li>
<li><a href="index.html">MathJax v1.1 documentation</a> »</li>
</ul>
@@ -91,7 +93,7 @@ and it also avoids the conflict between the use of the less-than sign,
<tt class="docutils literal"><span class="pre"><</span></tt>, in mathematics and asn an HTML special character (that starts
an HTML tag).</p>
<div class="section" id="how-mathematics-is-stored-in-the-page">
-<h2>How mathematics is stored in the page<a class="headerlink" href="#how-mathematics-is-stored-in-the-page" title="Permalink to this headline">¶</a></h2>
+<span id="mathjax-script-tags"></span><h2>How mathematics is stored in the page<a class="headerlink" href="#how-mathematics-is-stored-in-the-page" title="Permalink to this headline">¶</a></h2>
<p>In order to identify mathematics in the page, MathJax uses special
<tt class="docutils literal"><span class="pre"><script></span></tt> tags to enclose the mathematics. This is done because
such tags can be located easily, and because their content is not
@@ -255,16 +257,11 @@ dynamic as the rest of the page.</p>
</ul>
<h4>Previous topic</h4>
- <p class="topless"><a href="community.html"
- title="previous chapter">The MathJax Community</a></p>
+ <p class="topless"><a href="jsMath.html"
+ title="previous chapter">Converting to MathJax from jsMath</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="startup.html"
title="next chapter">The MathJax Startup Sequence</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/model.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -292,14 +289,15 @@ dynamic as the rest of the page.</p>
<a href="startup.html" title="The MathJax Startup Sequence"
>next</a> |</li>
<li class="right" >
- <a href="community.html" title="The MathJax Community"
+ <a href="jsMath.html" title="Converting to MathJax from jsMath"
>previous</a> |</li>
<li><a href="index.html">MathJax v1.1 documentation</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/objects.inv b/docs/html/objects.inv
Binary files differ.
diff --git a/docs/html/options/FontWarnings.html b/docs/html/options/FontWarnings.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="Using MathJax in popular web platforms" href="../platforms/index.html" />
<link rel="prev" title="The MathZoom extension" href="MathZoom.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="MathZoom.html" title="The MathZoom extension"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -218,11 +220,6 @@ The default is 1.5 seconds.</p>
<h4>Next topic</h4>
<p class="topless"><a href="../platforms/index.html"
title="next chapter">Using MathJax in popular web platforms</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/FontWarnings.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -253,12 +250,13 @@ The default is 1.5 seconds.</p>
<a href="MathZoom.html" title="The MathZoom extension"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/HTML-CSS.html b/docs/html/options/HTML-CSS.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The NativeMML output processor" href="NativeMML.html" />
<link rel="prev" title="The MathML input processor" href="MathML.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="MathML.html" title="The MathML input processor"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -78,6 +80,14 @@ menu item associated with the typeset mathematics.</p>
<dl class="describe">
<dt>
+<tt class="descname">minScaleAdjust: 50</tt></dt>
+<dd><p>This gives a minimum scale (as a percent) for the scaling used my
+MathJax to match the equation to the surrounding text. This will
+prevent MathJax from making the mathematics too small.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt>
<tt class="descname">availableFonts: ["STIX","TeX"]</tt></dt>
<dd><p>This is a list of the fonts to look for on a user’s computer in
preference to using MathJax’s web-based fonts. These must
@@ -195,11 +205,6 @@ where the tooltip will be placed.</p>
<h4>Next topic</h4>
<p class="topless"><a href="NativeMML.html"
title="next chapter">The NativeMML output processor</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/HTML-CSS.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -230,12 +235,13 @@ where the tooltip will be placed.</p>
<a href="MathML.html" title="The MathML input processor"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/MMLorHTML.html b/docs/html/options/MMLorHTML.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The MathMenu extension" href="MathMenu.html" />
<link rel="prev" title="The NativeMML output processor" href="NativeMML.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="NativeMML.html" title="The NativeMML output processor"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -97,11 +99,6 @@ complicated output generated by MathJax, so its setting is
<h4>Next topic</h4>
<p class="topless"><a href="MathMenu.html"
title="next chapter">The MathMenu extension</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/MMLorHTML.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -132,12 +129,13 @@ complicated output generated by MathJax, so its setting is
<a href="NativeMML.html" title="The NativeMML output processor"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/MathML.html b/docs/html/options/MathML.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The HTML-CSS output processor" href="HTML-CSS.html" />
<link rel="prev" title="The TeX input processor" href="TeX.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="TeX.html" title="The TeX input processor"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -86,11 +88,6 @@ spacing would be used (rather than TeX spacing rules).</p>
<h4>Next topic</h4>
<p class="topless"><a href="HTML-CSS.html"
title="next chapter">The HTML-CSS output processor</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/MathML.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -121,12 +118,13 @@ spacing would be used (rather than TeX spacing rules).</p>
<a href="TeX.html" title="The TeX input processor"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/MathMenu.html b/docs/html/options/MathMenu.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The MathZoom extension" href="MathZoom.html" />
<link rel="prev" title="The MMLorHTML configuration options" href="MMLorHTML.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="MMLorHTML.html" title="The MMLorHTML configuration options"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -66,7 +68,7 @@ options, include a <tt class="docutils literal"><span class="pre">MathMenu</span
<p>would set the <tt class="docutils literal"><span class="pre">delay</span></tt> option to 600 milliseconds.</p>
<dl class="describe">
<dt>
-<tt class="descname">delay: 400</tt></dt>
+<tt class="descname">delay: 150</tt></dt>
<dd><p>This is the hover delay for the display (in milliseconds) for
submenus in the contextual menu: when the mouse is over a submenu
label for this long, the menu will appear. (The submenu also will
@@ -148,11 +150,6 @@ style in a JavaScript object.</p>
<h4>Next topic</h4>
<p class="topless"><a href="MathZoom.html"
title="next chapter">The MathZoom extension</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/MathMenu.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -183,12 +180,13 @@ style in a JavaScript object.</p>
<a href="MMLorHTML.html" title="The MMLorHTML configuration options"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/MathZoom.html b/docs/html/options/MathZoom.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The FontWarnings extension" href="FontWarnings.html" />
<link rel="prev" title="The MathMenu extension" href="MathMenu.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="MathMenu.html" title="The MathMenu extension"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -101,11 +103,6 @@ style in a JavaScript object.</p>
<h4>Next topic</h4>
<p class="topless"><a href="FontWarnings.html"
title="next chapter">The FontWarnings extension</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/MathZoom.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -136,12 +133,13 @@ style in a JavaScript object.</p>
<a href="MathMenu.html" title="The MathMenu extension"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/NativeMML.html b/docs/html/options/NativeMML.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The MMLorHTML configuration options" href="MMLorHTML.html" />
<link rel="prev" title="The HTML-CSS output processor" href="HTML-CSS.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="HTML-CSS.html" title="The HTML-CSS output processor"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -125,11 +127,6 @@ CSS style in a JavaScript object.</p>
<h4>Next topic</h4>
<p class="topless"><a href="MMLorHTML.html"
title="next chapter">The MMLorHTML configuration options</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/NativeMML.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -160,12 +157,13 @@ CSS style in a JavaScript object.</p>
<a href="HTML-CSS.html" title="The HTML-CSS output processor"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/TeX.html b/docs/html/options/TeX.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The MathML input processor" href="MathML.html" />
<link rel="prev" title="The jsMath2jax Preprocessor" href="jsMath2jax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="jsMath2jax.html" title="The jsMath2jax Preprocessor"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -115,6 +117,24 @@ which produces a bold-face “R”, and <tt class="docutils literal"><sp
parameter and set it in the bold-face font.</p>
</dd></dl>
+<dl class="describe">
+<dt>
+<tt class="descname">MAXMACROS: 10000</tt></dt>
+<dd><p>Because a definition of the form <tt class="docutils literal"><span class="pre">\def\x{\x}</span> <span class="pre">\x</span></tt> would cause MathJax
+to loop infinitely, the <cite>MAXMACROS</cite> constant will limit the nuber of
+macro substitutions allowed in any expression processed by MathJax.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt>
+<tt class="descname">MAXBUFFER: 5*1024</tt></dt>
+<dd><p>Because a definition of the form <tt class="docutils literal"><span class="pre">\def\x{\x</span> <span class="pre">aaa}</span> <span class="pre">\x</span></tt> would loop
+infinitely, and at the same time stack up lots of a’s in MathJax’s
+equation buffer, the <cite>MAXBUFFER</cite> constant is used to limit the size of
+the string being processed by MathJax. It is set to 5KB, which should
+be sufficient for any reasonable equation.</p>
+</dd></dl>
+
</div>
@@ -129,11 +149,6 @@ parameter and set it in the bold-face font.</p>
<h4>Next topic</h4>
<p class="topless"><a href="MathML.html"
title="next chapter">The MathML input processor</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/TeX.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -164,12 +179,13 @@ parameter and set it in the bold-face font.</p>
<a href="jsMath2jax.html" title="The jsMath2jax Preprocessor"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/hub.html b/docs/html/options/hub.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The tex2jax Preprocessor" href="tex2jax.html" />
- <link rel="prev" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="prev" title="Configuration Objects" href="index.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -37,10 +39,10 @@
<a href="tex2jax.html" title="The tex2jax Preprocessor"
accesskey="N">next</a> |</li>
<li class="right" >
- <a href="../configuration.html" title="Loading and Configuring MathJax"
+ <a href="index.html" title="Configuration Objects"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -127,10 +129,10 @@ both must be present in order to be removed.</p>
<p>See also the <tt class="docutils literal"><span class="pre">preRemoveClass</span></tt> comments below.</p>
<p>Examples:</p>
<blockquote>
-<p><tt class="docutils literal"><span class="pre">preJax:</span> <span class="pre">"\\\\\\\\\"</span></tt> makes a double backslash the preJax text</p>
+<div><p><tt class="docutils literal"><span class="pre">preJax:</span> <span class="pre">"\\\\\\\\\"</span></tt> makes a double backslash the preJax text</p>
<p><tt class="docutils literal"><span class="pre">preJax:</span> <span class="pre">"\\[\\[",</span> <span class="pre">postJax:</span> <span class="pre">"\\]\\]"</span></tt> makes it so jax
scripts must be enclosed in double brackets.</p>
-</blockquote>
+</div></blockquote>
</dd></dl>
<dl class="describe">
@@ -190,7 +192,11 @@ displayed equations.</p>
configuration, styles, jax, and so on) as soon as it can. If you
expect to be doing additional configuration on the page, however,
you may want to have it wait until the page’s onload hander is
-called. If so, set this to <tt class="docutils literal"><span class="pre">"onload"</span></tt>.</p>
+called. If so, set this to <tt class="docutils literal"><span class="pre">"onload"</span></tt>. You can also set this to
+<tt class="docutils literal"><span class="pre">"configured"</span></tt>, in which case, MathJax will delay its startup until
+you explicitly call <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Configured()</span></tt>. See
+<a class="reference internal" href="../configuration.html#delaystartupuntil"><em>Configuring MathJax after it is loaded</em></a> for more
+details.</p>
</dd></dl>
<dl class="describe">
@@ -282,6 +288,16 @@ how these are specified in JavaScript.</p>
</dd></dl>
+<dl class="describe">
+<dt>
+<tt class="descname">v1.0-compatible: true</tt></dt>
+<dd><p>This controls whether MathJax issues the warning about not having an
+explicit configuration in the event that the <cite>jax</cite> array is empty
+after configuration is complete. If you really intend that array to
+be empty, set this flag to <tt class="docutils literal"><span class="pre">false</span></tt>. Note that setting this to false
+does <strong>not</strong> cause a default configuration file to be loaded.</p>
+</dd></dl>
+
</div>
@@ -291,16 +307,11 @@ how these are specified in JavaScript.</p>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
- <p class="topless"><a href="../configuration.html"
- title="previous chapter">Loading and Configuring MathJax</a></p>
+ <p class="topless"><a href="index.html"
+ title="previous chapter">Configuration Objects</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="tex2jax.html"
title="next chapter">The tex2jax Preprocessor</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/hub.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -328,15 +339,16 @@ how these are specified in JavaScript.</p>
<a href="tex2jax.html" title="The tex2jax Preprocessor"
>next</a> |</li>
<li class="right" >
- <a href="../configuration.html" title="Loading and Configuring MathJax"
+ <a href="index.html" title="Configuration Objects"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/index.html b/docs/html/options/index.html
@@ -0,0 +1,191 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Configuration Objects — MathJax v1.1 documentation</title>
+ <link rel="stylesheet" href="../_static/mj.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '1.1',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
+ <link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
+ <link rel="next" title="The Core Configuration Options" href="hub.html" />
+ <link rel="prev" title="Common Configurations" href="../config-files.html" />
+ </head>
+ <body>
+
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="hub.html" title="The Core Configuration Options"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="../config-files.html" title="Common Configurations"
+ accesskey="P">previous</a> |</li>
+ <li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
+ </ul>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="configuration-objects">
+<span id="configuration"></span><h1>Configuration Objects<a class="headerlink" href="#configuration-objects" title="Permalink to this headline">¶</a></h1>
+<p>The various components of MathJax, including its input and output
+processors, its preprocessors, its extensions, and the MathJax core,
+all can be configured through the <tt class="docutils literal"><span class="pre">config/default.js</span></tt> file, or via a
+<tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> call (indeed, if you look closely, you
+will see that <tt class="docutils literal"><span class="pre">config/default.js</span></tt> is itself one big call to
+<tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt>). Anything that is in
+<tt class="docutils literal"><span class="pre">config/default.js</span></tt> can be included in-line to configure MathJax.</p>
+<p>The structure that you pass to <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> is a
+JavaScript object that includes name-value pairs giving the names of
+parameters and their values, with pairs separated by commas. Be
+careful not to include a comma after the last value, however, as some
+browsers (namely Internet Explorer) will fail to process the
+configuration if you do.</p>
+<p>The MathJax components, like the TeX input processor, have their own
+sections in the configuration object, labeled by the component name,
+and using a configuration object as its value. The object is itself
+a configuration object made up of name-value pairs that give the
+configuration options for the component.</p>
+<p>For example,</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">showProcessingMessages</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span> <span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
+ <span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">TagSide</span><span class="o">:</span> <span class="s2">"left"</span><span class="p">,</span>
+ <span class="nx">Macros</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">RR</span><span class="o">:</span> <span class="s1">'{\\bf R}'</span><span class="p">,</span>
+ <span class="nx">bold</span><span class="o">:</span> <span class="p">[</span><span class="s1">'{\\bf #1}'</span><span class="p">,</span><span class="mi">1</span><span class="p">]</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+<span class="p">});</span>
+</pre></div>
+</div>
+<p>is a configuration that includes two settings for the MathJax Hub (one
+for <cite>showProcessingMessages</cite> and one of the <cite>jax</cite> array), and a
+configuration object for the TeX input processor. The latter includes
+a setting for the TeX input processor’s <cite>TagSide</cite> option (to set tags
+on the left rather than the right) and a setting for <cite>Macros</cite>, which
+defines new TeX macros (in this case, two macros, one called <tt class="docutils literal"><span class="pre">\RR</span></tt>
+that produces a bold “R”, and one called <tt class="docutils literal"><span class="pre">\bold</span></tt> that puts is
+argument in bold face).</p>
+<p>The <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file is another example that shows nearly
+all the configuration options for all of MathJax’s components.</p>
+<div class="section" id="configuration-options-by-component">
+<h2>Configuration Options by Component<a class="headerlink" href="#configuration-options-by-component" title="Permalink to this headline">¶</a></h2>
+<p>The individual options are explained in the following sections, which
+are categorized by the component they affect.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="hub.html">The core options</a></li>
+</ul>
+</div>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="tex2jax.html">The tex2jax preprocessor options</a></li>
+<li class="toctree-l1"><a class="reference internal" href="mml2jax.html">The mml2jax preprocessor options</a></li>
+<li class="toctree-l1"><a class="reference internal" href="jsMath2jax.html">The jsMath2jax preprocessor options</a></li>
+</ul>
+</div>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="TeX.html">The TeX input processor options</a></li>
+<li class="toctree-l1"><a class="reference internal" href="MathML.html">The MathML input processor options</a></li>
+<li class="toctree-l1"><a class="reference internal" href="HTML-CSS.html">The HTML-CSS output processor options</a></li>
+<li class="toctree-l1"><a class="reference internal" href="NativeMML.html">The NativeMML output processor options</a></li>
+<li class="toctree-l1"><a class="reference internal" href="MMLorHTML.html">The MMLorHTML configuration options</a></li>
+</ul>
+</div>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="MathMenu.html">The MathMenu options</a></li>
+<li class="toctree-l1"><a class="reference internal" href="MathZoom.html">The MathZoom options</a></li>
+<li class="toctree-l1"><a class="reference internal" href="FontWarnings.html">The FontWarnings options</a></li>
+</ul>
+</div>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="../index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Configuration Objects</a><ul>
+<li><a class="reference internal" href="#configuration-options-by-component">Configuration Options by Component</a><ul>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="../config-files.html"
+ title="previous chapter">Common Configurations</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="hub.html"
+ title="next chapter">The Core Configuration Options</a></p>
+<div id="searchbox" style="display: none">
+ <h3>Quick search</h3>
+ <form class="search" action="../search.html" method="get">
+ <input type="text" name="q" size="18" />
+ <input type="submit" value="Go" />
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+ <p class="searchtip" style="font-size: 90%">
+ Enter search terms or a module, class or function name.
+ </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="hub.html" title="The Core Configuration Options"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="../config-files.html" title="Common Configurations"
+ >previous</a> |</li>
+ <li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
+ </ul>
+ </div>
+ <div class="footer">
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
+ </div>
+
+ </body>
+</html>
+\ No newline at end of file
diff --git a/docs/html/options/jsMath2jax.html b/docs/html/options/jsMath2jax.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The TeX input processor" href="TeX.html" />
<link rel="prev" title="The mml2jax Preprocessor" href="mml2jax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="mml2jax.html" title="The mml2jax Preprocessor"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -108,11 +110,6 @@ details on how to represent HTML code in this way.</p>
<h4>Next topic</h4>
<p class="topless"><a href="TeX.html"
title="next chapter">The TeX input processor</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/jsMath2jax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -143,12 +140,13 @@ details on how to represent HTML code in this way.</p>
<a href="mml2jax.html" title="The mml2jax Preprocessor"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/mml2jax.html b/docs/html/options/mml2jax.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The jsMath2jax Preprocessor" href="jsMath2jax.html" />
<link rel="prev" title="The tex2jax Preprocessor" href="tex2jax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="tex2jax.html" title="The tex2jax Preprocessor"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -108,11 +110,6 @@ details on how to represent HTML code in this way.</p>
<h4>Next topic</h4>
<p class="topless"><a href="jsMath2jax.html"
title="next chapter">The jsMath2jax Preprocessor</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/mml2jax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -143,12 +140,13 @@ details on how to represent HTML code in this way.</p>
<a href="tex2jax.html" title="The tex2jax Preprocessor"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/options/tex2jax.html b/docs/html/options/tex2jax.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
- <link rel="up" title="Loading and Configuring MathJax" href="../configuration.html" />
+ <link rel="up" title="Configuration Objects" href="index.html" />
<link rel="next" title="The mml2jax Preprocessor" href="mml2jax.html" />
<link rel="prev" title="The Core Configuration Options" href="hub.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -40,7 +42,7 @@
<a href="hub.html" title="The Core Configuration Options"
accesskey="P">previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" accesskey="U">Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" accesskey="U">Configuration Objects</a> »</li>
</ul>
</div>
@@ -74,7 +76,7 @@ The default is the whole document.</p>
<dl class="describe">
<dt>
-<tt class="descname">inlineMath: [['\\(','\\)']]</tt></dt>
+<tt class="descname">inlineMath: [['\(','\)']]</tt></dt>
<dd><p>Array of pairs of strings that are to be used as in-line math
delimters. The first in each pair is the initial delimiter and
the second is the terminal delimiter. You can have as many pairs
@@ -95,7 +97,7 @@ include text, not tags, as your math delimiters.</p>
<dl class="describe">
<dt>
-<tt class="descname">displayMath: [ ['$$','$$'], ['\\[','\\]'] ]</tt></dt>
+<tt class="descname">displayMath: [ ['$$','$$'], ['\[','\]'] ]</tt></dt>
<dd><p>Array of pairs of strings that are to be used as delimters for
displayed equations. The first in each pair is the initial
delimiter and the second is the terminal delimiter. You can have
@@ -203,11 +205,6 @@ been marked as ignored above.</p>
<h4>Next topic</h4>
<p class="topless"><a href="mml2jax.html"
title="next chapter">The mml2jax Preprocessor</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/options/tex2jax.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -238,12 +235,13 @@ been marked as ignored above.</p>
<a href="hub.html" title="The Core Configuration Options"
>previous</a> |</li>
<li><a href="../index.html">MathJax v1.1 documentation</a> »</li>
- <li><a href="../configuration.html" >Loading and Configuring MathJax</a> »</li>
+ <li><a href="index.html" >Configuration Objects</a> »</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/output.html b/docs/html/output.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="The MathJax Community" href="community.html" />
<link rel="prev" title="MathJax MathML Support" href="mathml.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -55,9 +57,16 @@
<li>Using a browser’s native MathML support.</li>
</ul>
<p>These are implemented by the <cite>HTML-CSS</cite> and <cite>NativeMML</cite> output
-processors. You select which one you want to use by including either
-<tt class="docutils literal"><span class="pre">"output/HTML-CSS"</span></tt> or <tt class="docutils literal"><span class="pre">"output/NativeMML"</span></tt> in the <cite>jax</cite> array of
-your MathJax configuration. For example</p>
+processors.</p>
+<p>If you are using one of the combined configuration files, then this will
+select one of these output processors for you. If the config file ends in
+<tt class="docutils literal"><span class="pre">_HTML</span></tt>, then it is the HTML-CSS output processor, and if it ends in
+<tt class="docutils literal"><span class="pre">_HTMLorMML</span></tt>, then the NativeMML output processor will be chosen if the
+browser supports it, otherwise HTML-CSS output will be used.</p>
+<p>If you are performing your own in-line or file-based configuration, you
+select which one you want to use by including either <tt class="docutils literal"><span class="pre">"output/HTML-CSS"</span></tt>
+or <tt class="docutils literal"><span class="pre">"output/NativeMML"</span></tt> in the <cite>jax</cite> array of your MathJax configuration.
+For example</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">]</span>
</pre></div>
</div>
@@ -67,7 +76,7 @@ in your document.</p>
major browsers, with results that are consistent across browsers and
operating systems. This is MathJax’s primary output mode. It’s major
advantage is its quality and consistency; it’s drawback is that it is
-slower that the NativeMML mode at rendering the mathematics. (The
+slower than the NativeMML mode at rendering the mathematics. (The
HTML-CSS processor has not yet been optimized for speed, so you can
expect some improvement in the future. Note that IE8 in “IE8
standards mode” is an order of magnitude slower than any other browser
@@ -81,58 +90,75 @@ MathML. Opera has some built-in support for MathML that works well
with simple equations, but fails with more complex formulas, so we
don’t recommend using the NativeMML output processor with Opera. Safari,
Chrome, Konqueror, and most other browsers don’t support MathML
-natively.</p>
-<p>The advantage of the NativeMML output Processor is its speed, since
-native MathML support is much faster than using complicated HTML and
-CSS to lay out mathematics via an interpreted language like JavaScript
-(as the HTML-CSS output processor does). The disadvantage is that you
-are dependent on the browser’s MathML implementation for your
+natively, but may in the future, since MathML is part of the HTML5
+specification.</p>
+<p>The advantage of the NativeMML output Processor is its speed, since native
+MathML support is much faster than using complicated HTML and CSS to lay
+out mathematics, as the HTML-CSS output processor does. The disadvantage
+is that you are dependent on the browser’s MathML implementation for your
rendering, and these vary in quality of output and completeness of
-implementation. MathJax may rely on features that are not available
-in some renderers (for example, Firefox’s MathML support does not
-implement some of the named widths, such as
-<tt class="docutils literal"><span class="pre">negativethinmathspace</span></tt>). The results using the NativeMML output
-processor may have spacing or other rendering problems that are
-outside of MathJax’s control.</p>
+implementation. MathJax may rely on features that are not available in
+some renderers (for example, Firefox’s MathML support does not implement
+some of the named widths, such as <tt class="docutils literal"><span class="pre">negativethinmathspace</span></tt>). The results
+using the NativeMML output processor may have spacing or other rendering
+problems that are outside of MathJax’s control.</p>
<div class="section" id="automatic-selection-of-the-output-processor">
<h2>Automatic Selection of the Output Processor<a class="headerlink" href="#automatic-selection-of-the-output-processor" title="Permalink to this headline">¶</a></h2>
<p>Since not all browsers support MathML natively, it would be unwise to
choose the NativeMML output processor unless you are sure of your
audience’s browser capabilities. MathJax can help with that, however,
-since there is a special configuration file that will choose between
-NativeMML and HTML-CSS depending on the browser in use. To invoke it,
-add <tt class="docutils literal"><span class="pre">"MMLorHTML.js"</span></tt> to your configurations <cite>config</cite> array, and <strong>do
-not</strong> include an output processor in your <cite>jax</cite> array; MathJax will
-fill that in for you based on the abilities of your user’s browser.</p>
+since a number of its combined configuration files will select NativeMML
+output when the browser supports it, and HTML-CSS output otherwise. These
+are the configuration files that end in <tt class="docutils literal"><span class="pre">_HTMLorMML</span></tt>.</p>
+<p>If you are doing your own configuration, there is a special configuration
+file that you can include that will choose between NativeMML and HTML-CSS
+depending on the browser in use. To invoke it, add <tt class="docutils literal"><span class="pre">"MMLorHTML.js"</span></tt> to
+your configurations <cite>config</cite> array, and <strong>do not</strong> include an output
+processor in your <cite>jax</cite> array; MathJax will fill that in for you based on
+the abilities of your user’s browser.</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">config</span><span class="o">:</span> <span class="p">[</span><span class="s2">"MMLorHTML.js"</span><span class="p">],</span>
<span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">]</span>
</pre></div>
</div>
<p>You can customize which choice to make on a browser-by-browser basis
-or a global basis. See the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file or the
-<a class="reference internal" href="configuration.html#configuration"><em>Configuring MathJax</em></a> section for futher
-details.</p>
+or a global basis. See the <tt class="docutils literal"><span class="pre">config/default.js</span></tt> file or the
+<a class="reference internal" href="options/MMLorHTML.html#configure-mmlorhtml"><em>Configuring MMLorHTML</em></a> section for futher
+details. As an example, this configuration tells MathJax to use HTML-CSS
+output rather than native MathML support for Firefox:</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">MMLorHTML</span><span class="o">:</span> <span class="p">{</span> <span class="nx">prefer</span><span class="o">:</span> <span class="p">{</span> <span class="nx">Firefox</span><span class="o">:</span> <span class="s2">"HTML"</span> <span class="p">}</span> <span class="p">}</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></span>
+<span class="nt"></script></span>
+</pre></div>
+</div>
+<p>With this configuration, MathML output will be used only for IE with the
+MathPlayer plugin (Firefox is the only other browser to have native MathML
+support that is sufficient for use with MathJax). Note, however, that a
+user can employ the MathJax contectual menu to select the other renderer if
+he or she wishes.</p>
<p>MathJax produces MathML that models the underlying mathematics as best
it can, rather than using complicated hacks to improve output for a
particular MathML implementation. When you make the choice to use the
NativeMML output processor, you are making a trade-off: gaining speed
at the expense of quality and reliability, a decision that should not
-be taken lightly. Note, however, that a user can employ the MathJax
-contectual menu to select the other other renderer if he or she
-wishes.</p>
+be taken lightly.</p>
</div>
<div class="section" id="html-css-with-ie8">
<span id="id1"></span><h2>HTML-CSS with IE8<a class="headerlink" href="#html-css-with-ie8" title="Permalink to this headline">¶</a></h2>
-<p>Internet Explorer 8 has at least eight different rendering modes in
-which can operate, and that are triggered by the <cite>DOCTYPE</cite> of the
-document being viewed. Its “quirks” mode is its fastest mode, and its
-“IE8 standards” mode is its slowest. This is the mode triggered by
-strict HTML document types, and since most modern content management
-systems now include a <cite>DOCTYPE</cite> that activates “standards” mode, IE8
-will operate in its slowest manner. This is particularly apparent
-when MathJax is used, since IE8 in standards mode runs 20 to 30 times
-slower than it does in its IE7 emulation mode, and 60 times slower
-than in quirks mode.</p>
+<p>Internet Explorer 8 has at least eight different rendering modes in which
+it can operate, and that are triggered by the <cite>DOCTYPE</cite> of the document
+being viewed. Its “quirks” mode is its fastest mode, and its “IE8
+standards” mode is its slowest. This is the mode triggered by strict HTML
+document types, and since most modern content management systems now
+include a <cite>DOCTYPE</cite> that activates “standards” mode, IE8 will operate in
+its slowest manner. This is particularly apparent when MathJax is used,
+since IE8 in standards mode runs 20 to 30 times slower than it does in its
+IE7 emulation mode, and 60 times slower than in quirks mode, on the sample
+equations page in <tt class="docutils literal"><span class="pre">test/sample.html</span></tt>.</p>
<p>Most users find this speed reduction unacceptable when there is much
mathematics on the page. To overcome this problem, you may wish to
tell IE8 to use its IE7 emulation mode rather than its IE8 standards
@@ -149,6 +175,9 @@ before any stylesheets or other content are loaded.</p>
described above to select NativeMML output when possible, and request
that your users install the <a class="reference external" href="http://www.dessci.com/en/products/mathplayer/">MathPlayer plugin</a>, which will render
the mathematics much more quickly.</p>
+<p>It appears that IE9 in IE9 standards mode may perform better than IE8, but
+since IE9 is still in beta testing as of this writing, we have yet to see
+exactly what the performance of MathJax in IE9 will be like.</p>
</div>
</div>
@@ -173,11 +202,6 @@ the mathematics much more quickly.</p>
<h4>Next topic</h4>
<p class="topless"><a href="community.html"
title="next chapter">The MathJax Community</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/output.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -211,8 +235,9 @@ the mathematics much more quickly.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/platforms/index.html b/docs/html/platforms/index.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="next" title="Installing MathJax in WordPress" href="wordpress.html" />
<link rel="prev" title="The FontWarnings extension" href="../options/FontWarnings.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -49,6 +51,15 @@
<div class="section" id="using-mathjax-in-popular-web-platforms">
<span id="platforms"></span><h1>Using MathJax in popular web platforms<a class="headerlink" href="#using-mathjax-in-popular-web-platforms" title="Permalink to this headline">¶</a></h1>
+<p>MathJax plugins are available for a growing number of wikis, blogs, and
+other content-management systems. These include WordPress, Blogger,
+Sphinx, TiddlyWiki, and MathEL-Wiki. A list of these is available in the
+<a class="reference external" href="http://www.mathjax.org/community/mathjax-in-use/#web-apps">web applications and integrations</a> list of the
+<a class="reference external" href="http://www.mathjax.org">MathJax web site</a>.</p>
+<p>If the program you are using is not one of these, you may still be able to
+use MathJax by modifying the theme or template for your wiki or blog.</p>
+<div class="section" id="using-mathjax-in-a-theme-file">
+<h2>Using MathJax in a Theme File<a class="headerlink" href="#using-mathjax-in-a-theme-file" title="Permalink to this headline">¶</a></h2>
<p>Most web-based content-management systems include a theme or template
layer that determines how the pages look, and that loads information
common to all pages. Such theme files provide one popular way to
@@ -59,15 +70,14 @@ which probably means you need to be an administrator for the site; if
you are not, you may need to have an administrator do these steps for
you.</p>
<p>To enable MathJax in your web platform, add the line:</p>
-<div class="highlight-python"><pre><script type="text/javascript" src="path-to-MathJax/MathJax.js"></script></pre>
+<div class="highlight-python"><pre><script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></pre>
</div>
-<p>(where <tt class="docutils literal"><span class="pre">path-to-MathJax</span></tt> is the web-address of the main MathJax
-directory for your server) either just before the <tt class="docutils literal"><span class="pre"></head></span></tt> tag in
-your theme file, or at the end of the file if it contains no
-<tt class="docutils literal"><span class="pre"></head></span></tt>.</p>
+<p>either just before the <tt class="docutils literal"><span class="pre"></head></span></tt> tag in your theme file, or at the end of
+the file if it contains no <tt class="docutils literal"><span class="pre"></head></span></tt>.</p>
<p>The theme files for various popular platforms are:</p>
<blockquote>
-<dl class="docutils">
+<div><dl class="docutils">
<dt><a class="reference external" href="http://wordpress.org/">WordPress</a></dt>
<dd><tt class="docutils literal"><span class="pre">wp-content/themes/[current_theme]/header.php</span></tt></dd>
<dt><a class="reference external" href="http://www.movabletype.org/">Movable Type</a></dt>
@@ -83,10 +93,11 @@ your theme file, or at the end of the file if it contains no
<dt><a class="reference external" href="http://moodle.org/">Moodle</a></dt>
<dd><tt class="docutils literal"><span class="pre">theme/[current_theme]/header.html</span></tt></dd>
</dl>
-</blockquote>
+</div></blockquote>
<p>Keep in mind that this will enable MathJax for your current
theme/template only. If you change themes or update your theme, you
will have to repeat these steps.</p>
+</div>
<div class="section" id="insructions-for-specific-platforms">
<h2>Insructions for Specific Platforms<a class="headerlink" href="#insructions-for-specific-platforms" title="Permalink to this headline">¶</a></h2>
<p>Some programs, such as WordPress and Moveable Type, allow you to edit
@@ -110,6 +121,7 @@ instructions for these are given via the links below.</p>
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Using MathJax in popular web platforms</a><ul>
+<li><a class="reference internal" href="#using-mathjax-in-a-theme-file">Using MathJax in a Theme File</a></li>
<li><a class="reference internal" href="#insructions-for-specific-platforms">Insructions for Specific Platforms</a><ul>
</ul>
</li>
@@ -123,11 +135,6 @@ instructions for these are given via the links below.</p>
<h4>Next topic</h4>
<p class="topless"><a href="wordpress.html"
title="next chapter">Installing MathJax in WordPress</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/platforms/index.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -161,8 +168,9 @@ instructions for these are given via the links below.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/platforms/movable-type.html b/docs/html/platforms/movable-type.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="Using MathJax in popular web platforms" href="index.html" />
<link rel="next" title="MathJax TeX and LaTeX Support" href="../tex.html" />
<link rel="prev" title="Installing MathJax in WordPress" href="wordpress.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -51,8 +53,6 @@
<div class="section" id="using-mathjax-in-movable-type">
<span id="platform-movable-type"></span><h1>Using MathJax in Movable Type<a class="headerlink" href="#using-mathjax-in-movable-type" title="Permalink to this headline">¶</a></h1>
-<p>These instructions assume you already have placed the MathJax files on
-your server (see <a class="reference internal" href="../installation.html#installation"><em>Installing and Testing MathJax</em></a>).</p>
<ol class="arabic">
<li><p class="first">Open Moveable Type Admin interface for the site on which you want to enable
MathJax.</p>
@@ -60,29 +60,30 @@ MathJax.</p>
<li><p class="first">In the dashboard menu on the left, open up the Design menu. This
should show you the templates you are currently using on the site.</p>
<blockquote>
-<img alt="../_images/mt_menu.png" src="../_images/mt_menu.png" />
-</blockquote>
+<div><img alt="../_images/mt_menu.png" src="../_images/mt_menu.png" />
+</div></blockquote>
</li>
<li><p class="first">Scroll down to the Template Modules section in the template list
and open the <cite>HTML Head</cite> template.</p>
<blockquote>
-<img alt="../_images/mt_templates.png" src="../_images/mt_templates.png" />
-</blockquote>
+<div><img alt="../_images/mt_templates.png" src="../_images/mt_templates.png" />
+</div></blockquote>
</li>
<li><p class="first">At the end of the file, insert</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js"</span><span class="nt">></script></span>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></span>
+<span class="nt"></script></span>
</pre></div>
</div>
-<p>where <tt class="docutils literal"><span class="pre">path-to-MathJax</span></tt> is replaced by the web-address of the
-main MathJax dorectory on your server.</p>
+<p>to load MathJax from our distributed netowrk service.</p>
<blockquote>
-<img alt="../_images/mt_head.png" src="../_images/mt_head.png" />
-</blockquote>
+<div><img alt="../_images/mt_head.png" src="../_images/mt_head.png" />
+</div></blockquote>
</li>
-<li><p class="first">Save the file. This should enable MathJax, so you should be able
-to start adding mathematical content to your pages. Use the
-<tt class="docutils literal"><span class="pre">config/MathJas.js</span></tt> file in the MathJax directory to configure
-MathJax to your needs (see <a class="reference internal" href="../configuration.html#configuration"><em>Configuring MathJax</em></a> for details).</p>
+<li><p class="first">Save the file. This will enable MathJax with both TeX and MathML
+input, so you should be able to start adding mathematical content to
+your pages. If you need to adjust the configuraiton, see
+<a class="reference internal" href="../configuration.html#loading"><em>Configuring MathJax</em></a> for more details.</p>
</li>
</ol>
</div>
@@ -99,11 +100,6 @@ MathJax to your needs (see <a class="reference internal" href="../configuration.
<h4>Next topic</h4>
<p class="topless"><a href="../tex.html"
title="next chapter">MathJax TeX and LaTeX Support</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/platforms/movable-type.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -138,8 +134,9 @@ MathJax to your needs (see <a class="reference internal" href="../configuration.
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/platforms/wordpress.html b/docs/html/platforms/wordpress.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="../index.html" />
<link rel="up" title="Using MathJax in popular web platforms" href="index.html" />
<link rel="next" title="Using MathJax in Movable Type" href="movable-type.html" />
<link rel="prev" title="Using MathJax in popular web platforms" href="index.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -51,39 +53,39 @@
<div class="section" id="installing-mathjax-in-wordpress">
<span id="platform-wordpress"></span><h1>Installing MathJax in WordPress<a class="headerlink" href="#installing-mathjax-in-wordpress" title="Permalink to this headline">¶</a></h1>
-<p>These instructions assume you already have placed the MathJax files on
-your server (see <a class="reference internal" href="../installation.html#installation"><em>Installing MathJax</em></a>).</p>
+<p>Note that there is a <a class="reference external" href="http://wordpress.org/extend/plugins/mathjax-latex/">WordPress plugin for MathJax</a>, so that may be a
+better choice than editing the theme directly.</p>
<ol class="arabic">
<li><p class="first">Open the WordPress admin interface.</p>
</li>
<li><p class="first">In the administration menu on the left, open up the <cite>Appearance</cite>
menu and click on the <cite>Editor</cite> submenu option.</p>
<blockquote>
-<img alt="../_images/wp_menu.png" src="../_images/wp_menu.png" />
-</blockquote>
+<div><img alt="../_images/wp_menu.png" src="../_images/wp_menu.png" />
+</div></blockquote>
<p>When you click on the editor option, WordPress should open up the
first stylesheet in the current theme.</p>
</li>
<li><p class="first">In the template list on the right side of the page, click on the
header file (it should be <tt class="docutils literal"><span class="pre">header.php</span></tt>).</p>
<blockquote>
-<img alt="../_images/wp_templates.png" src="../_images/wp_templates.png" />
-</blockquote>
+<div><img alt="../_images/wp_templates.png" src="../_images/wp_templates.png" />
+</div></blockquote>
<p>This part depends slightly on how your current theme is written.
In the <tt class="docutils literal"><span class="pre">header.php</span></tt> file, look for the end-of-head tag,
<tt class="docutils literal"><span class="pre"></head></span></tt>. If you find it, insert</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js"</span><span class="nt">></script></span>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></span>
+<span class="nt"></script></span>
</pre></div>
</div>
<p>just before that. Otherwise, insert the same code at the very
-bottom of the file. Here, <tt class="docutils literal"><span class="pre">path-to-MathJax</span></tt> should be replaced
-by the web-address of the main MathJax directory on your server,
-e.g., <tt class="docutils literal"><span class="pre">src="/mathjax/MathJax.js"</span></tt>.</p>
+bottom of the file.</p>
</li>
-<li><p class="first">Save the file. This should enable MathJax, so you should be able to
-start adding mathematical content to your pages. Use the
-<tt class="docutils literal"><span class="pre">config/MathJas.js</span></tt> file in the MathJax directory to configure
-MathJax to your needs (see <a class="reference internal" href="../configuration.html#configuration"><em>Configuring MathJax</em></a> for details).</p>
+<li><p class="first">Save the file. This will enable MathJax with both TeX and MathML
+input, so you should be able to start adding mathematical content to
+your pages. If you need to adjust the configuraiton, see
+<a class="reference internal" href="../configuration.html#loading"><em>Configuring MathJax</em></a> for more details.</p>
</li>
</ol>
</div>
@@ -100,11 +102,6 @@ MathJax to your needs (see <a class="reference internal" href="../configuration.
<h4>Next topic</h4>
<p class="topless"><a href="movable-type.html"
title="next chapter">Using MathJax in Movable Type</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="../_sources/platforms/wordpress.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
@@ -139,8 +136,9 @@ MathJax to your needs (see <a class="reference internal" href="../configuration.
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/queues.html b/docs/html/queues.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="up" title="Synchronizing your code with MathJax" href="synchronize.html" />
<link rel="next" title="Using Signals" href="signals.html" />
<link rel="prev" title="Using Callbacks" href="callbacks.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -288,11 +290,6 @@ finishes everything it has queued when it was loaded. For example,</p>
<h4>Next topic</h4>
<p class="topless"><a href="signals.html"
title="next chapter">Using Signals</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/queues.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -327,8 +324,9 @@ finishes everything it has queued when it was loaded. For example,</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/search.html b/docs/html/search.html
@@ -22,6 +22,7 @@
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/searchtools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<script type="text/javascript">
jQuery(function() { Search.loadIndex("searchindex.js"); });
@@ -30,6 +31,7 @@
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -88,8 +90,9 @@
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/searchindex.js b/docs/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({objects:{"":{reset:[24,0,1],getAllJax:[12,0,1],Log:[15,0,1],Subclass:[33,0,1],Delay:[24,0,1],Init:[33,0,1],Interest:[35,0,1],Translate:[34,0,1],Config:[12,0,1],addElement:[10,0,1],Reprocess:[12,0,1],Styles:[0,0,1],ExecuteHook:[35,0,1],loadTimeout:[0,0,1],Resume:[14,0,1],Update:[12,0,1],fileURL:[0,0,1],loadHook:[0,0,1],formatError:[12,0,1],call:[14,0,1],getJaxByInputType:[12,0,1],PreProcess:[12,0,1],Post:[35,0,1],has:[33,0,1],Clear:[15,0,1],Insert:[12,0,1],Register:[34,0,1],TextNode:[10,0,1],Augment:[33,0,1],Signal:[24,0,1],addText:[10,0,1],noTranslate:[34,0,1],Typeset:[12,0,1],Queue:[24,0,1],NoInterest:[35,0,1],Suspend:[14,0,1],getJaxByType:[12,0,1],Push:[14,0,1],Element:[10,0,1],loadComplete:[0,0,1],wait:[14,0,1],Load:[0,0,1],Set:[15,0,1],executeHooks:[24,0,1],Process:[12,0,1],Text:[45,0,1],loadError:[0,0,1],Startup:[34,0,1],SourceElement:[45,0,1],getJaxFor:[12,0,1],can:[33,0,1],MessageHook:[35,0,1],isJax:[12,0,1],isa:[33,0,1],Require:[0,0,1]}},terms:{acut:41,lvertneqq:41,reprocess:[12,45,43],mathjax_msie_fram:15,interchang:[],four:[17,1,37],prefix:[10,17,32],asymp:41,blacktriangledown:41,webfont:[6,30,17],whose:[5,26,12,21,43],under:27,preprocess:[47,12,25,43],sped:[],gimel:41,everi:[16,12],mskip:41,arcco:41,dotplu:41,affect:[45,12,32,37],isforefox:12,look:[10,35,12,37,24,2,43,41,4,15,5,17,27,7,30,47,32,49],eqnarrai:41,cmd:19,bigodot:41,ominu:41,math:[25,41,10,11,32,15,16,17,18,19,20,23,3,38,28,29,30,31,12,34,5,27,37,39,42,43,44,46,47],nparallel:41,showcontext:42,direct:[30,6,27,37],enjoi:[],thinspac:41,second:[0,27,37,24,26,49,44,5,6,40,19,16,31,21,1],ngeq:41,even:[40,0,12,24,35,14,41,3,43,16,26,27,44,20,47,32,1],hide:43,prejax:[47,19],neg:41,introspect:[],children:27,yoursit:3,caseywstark:[],"new":[10,35,12,37,24,43,33,1,25,4,15,16,44,22,42,45,20,31,32,21,47],net:[],mhtml:2,told:44,limsup:41,scriptscriptstyl:41,abov:[10,41,37,24,17,1,3,43,5,6,19,26,46,30,33],lessapprox:41,blacktriangleright:41,richest:[],here:[10,35,36,24,26,1,3,43,16,17,34,19,7,12,45],met:25,lneqq:41,path:[0,2,17,7,9,32],noundefin:[41,17,32,3],interpret:[41,46,37],nrightarrow:41,forum:[17,4],bookmarklet:32,precis:[],rceil:41,indutri:[],backprim:41,circleddash:41,mathstrut:41,unix:37,brower:41,thinmathspac:27,highli:20,describ:[10,37,24,26,39,49,25,43,41,6,40,46,47,12,17],would:[41,6,8,10,32,14,17,40,19,45,22,23,24,26,29,46,30,12,33,5,37,38,49,42,43,18,47,48,1],bleed:37,vartriangl:41,ltime:41,varlambda:41,call:[0,2,3,5,6,8,32,14,15,16,22,19,21,23,24,26,29,30,31,12,33,34,35,37,38,39,45,41,42,43,44,18,47,48,1],typo:[],recommend:[46,47,37],vcenter:41,preview:[5,38,47,23,19],type:[0,2,3,5,7,9,10,32,16,17,34,19,45,31,12,27,21,1,43,44,46,47],until:[0,23,35,1,25,5,26,19,16,38,32],notin:41,displaymath:[5,32],notic:[41,32],warn:[0,6],jpg:[5,38,23,40],hold:[0,40,19,29,47,12],unpack:[17,37],slowest:46,must:[0,27,37,17,39,14,41,15,5,6,46,22,19,29,44,30,32,35,49],fbox:41,join:[16,41],centerdot:41,setup:[20,17,32,27],work:[10,11,27,37,26,41,3,4,43,16,17,28,44,20,46,32,33],cc0000:[49,19],textjavascript:[],tag_nam:37,root:[41,0,25],overrid:[33,6,31,34,21],mathmenu:[49,18,30,42,32],give:[35,17,40,49,3,16,6,22,32],indic:[0,12,35,14,41,25,16,17,34,19,26,45,31,32,21,47],mauch:[],impair:20,liter:5,want:[16,37,24,26,13,33,41,4,15,5,17,48,19,43,46,30,9,32,21,1],david:[],setminu:41,foirefox:[],quot:[5,30,19],hom:41,heartsuit:41,how:[0,2,3,4,41,6,7,14,15,17,40,19,23,24,35,38,29,30,12,5,37,42,44,18,47],sever:[0,37,1,43,26,47,32,21],answer:[4,43],verifi:[17,37,4],config:[1,25,5,6,7,8,31,32,15,16,17,22,19,21,23,3,26,28,29,9,12,34,18,30,38,41,42,43,46,48,49],updat:[37,2,1,43,12,45],showrender:42,lai:[46,47],diagdown:41,after:[0,37,24,35,14,1,3,42,15,16,17,34,19,26,44,30,47,32,43],befor:[0,2,4,41,7,5,14,15,16,22,19,24,26,29,30,12,33,34,35,27,37,39,40,1,43,44,46,47],wrong:27,unwis:46,konqueror:[46,12],parallel:[41,1],types:[],alignedat:41,attempt:[0,27,42],third:[1,27],leftarrow:41,perform:[35,36,24,26,39,14,1,25,4,43,16,6,12,34,19,44,32,45],greasekit:3,maintain:[16,26,19,4,44],environ:[41,4,5,17,22,32],incorpor:[],enter:[41,47,27,43],first:[16,27,1,24,35,41,3,44,43,5,17,40,19,26,7,31,32,21,47],order:[35,23,37,17,39,14,1,15,5,6,19,26,46,38,12,33,47],oper:[0,5,6,8,14,15,16,17,18,20,22,23,38,29,30,34,35,36,37,26,39,1,42,43,46,48],approxeq:41,endors:[],over:[10,0,30,42,43,41,17,19,29,47],fall:[6,1,37,17],becaus:[16,27,37,35,41,3,15,5,17,40,26,30,47,32,43,1],boxtim:41,textrm:41,appar:[46,1],afil:26,flexibl:[1,40],vari:46,smallint:41,fit:[16,42],fix:37,strang:27,better:[17,32,42],boxminu:41,drawback:46,upharpoonleft:41,persist:4,comprehens:39,easier:[35,27,37,1,41,33],moveleft:41,them:[10,0,12,37,1,17,14,41,27,5,6,22,26,16,47,32,35,49],thei:[0,1,3,4,5,6,8,32,13,14,16,17,18,19,22,23,25,26,29,30,12,34,35,27,37,38,39,40,41,42,43,44,47,48,49],precapprox:41,safe:[10,3,43],"break":[41,44,1,27],mtext:[41,17],wedg:41,widetild:41,choic:[46,12,32],dbinom:41,outputel:[],leftharpoondown:41,accommod:[],timeout:[0,24],each:[16,12,37,24,35,1,25,43,5,17,44,47,32],debug:15,side:[15,22,19,7],mean:[16,23,2,35,13,41,3,43,5,26,19,44,20,38,32],leqq:41,createel:3,resum:[14,1],leqalignno:41,mathopen:41,looparrowleft:41,logo:[],goe:[41,44,1],newli:[10,16,33],content:[10,47,27,2,39,25,1,3,43,5,17,40,19,7,46,31,12,33,9],laid:[],reader:20,forth:36,impract:37,multilin:41,love:[],situat:32,free:[45,4],standard:[41,39,49,16,17,20,46,47,32],lneq:41,angl:41,moment:[17,37],isn:16,temporari:34,isa:33,subtl:43,confus:[],mathbb:41,rang:47,mathbf:41,render:[27,25,42,5,19,20,46,47,32,48,28],yourcolleg:37,restrict:[41,37],hook:[16,0,24,35],noerror:[41,17,32,3],alreadi:[0,24,44,41,3,4,15,16,26,7,9,43,33,1],messag:[0,36,37,39,17,13,41,25,15,16,6,12,34,19,44,32,35],primari:46,tooltop:30,top:[36,37,41,17,46,32],sometim:[],underlin:41,master:44,too:[5,17,3],eqn:[],john:26,listen:[16,35,12,24],thickapprox:41,namespac:[17,32,3,24,43],tool:[1,37],tagind:22,consern:[],gtrless:41,somewhat:44,technic:39,past:[16,20,44,35],filesmatch:37,consequ:18,provid:[10,0,12,24,2,35,14,41,40,15,16,26,27,43,44,20,47,32,33,1],eqalignno:41,x2212:[17,47],tree:40,iota:41,project:[39,4],matter:[16,28],minut:37,mathtt:41,ldotp:41,modern:[20,6,32,46,11],mind:[41,2],manner:46,increment:14,seem:[26,27],rightrightarrow:41,ldot:41,ngeqq:41,latter:[16,40,47,32],client:30,supset:41,picki:[],though:[24,3,41,44,40,19,47],object:[0,25,6,10,11,12,13,14,15,16,18,19,21,24,26,29,31,32,33,34,35,36,30,39,40,49,42,43,44,45,47,1],regular:[5,19],letter:[17,37],phase:[],previewtex:[],grave:41,don:[27,26,1,3,43,16,6,46,12],dom:[10,45,1,43,16,44,34,19,12,21],doe:[41,12,24,45,27,3,16,26,18,48,20,46,31,32,21,47],declar:[27,30,49,42,6,18,29],tfrac:41,unchang:[48,43],sum:[41,24],dot:41,asid:[],delaystartupuntil:[25,19],random:[17,37],lnapprox:41,syntax:[41,33],mediawiki:2,isopera:12,shownam:26,asynchon:43,involv:[17,32,4,44],consolid:20,layout:45,firstnam:26,mathchoic:41,ismsi:[12,25],menu:[27,30,25,42,18,19,29,7,46,9,45,47],explain:[17,32,44],configur:[25,5,6,7,8,31,11,12,16,17,22,19,20,21,23,3,26,28,29,30,9,32,34,18,27,37,38,40,41,46,47,48],apach:37,configut:40,theme:[2,7],rich:20,folder:[30,17,37],predecessor:[],infti:[41,47],report:[27,19,4],circeq:41,prepocess:[],subseteq:41,fadeouttim:6,bar:[41,33,24],patch:37,reload:42,bad:[],replacechild:3,neq:41,respond:[35,19,4],dashrightarrow:41,elimin:19,precneqq:41,result:[27,30,24,26,45,1,43,41,17,46,31,12,21,47],respons:[17,31,32,24,35],fail:[0,32,46,34,26],exectu:24,best:[0,47,32,1,46],awar:[41,0,1,27],subarrai:41,varinjlim:41,wikipedia:[39,3],circledcirc:41,gneqq:41,approach:[26,47,32,2,43],attribut:[10,49,41,38,40,47],never:[37,3],extend:[20,47],jaxlist:[],synchon:16,extens:[0,25,41,6,32,16,17,22,19,23,3,38,28,29,12,34,5,36,39,49,42,43,1],add:[33,41,2,17,14,49,3,5,6,19,45,46,21],preprocessor:[41,23,38,27,25,43,5,17,12,36,19,47,32,28],advertis:[],intop:41,cot:41,triggerr:[],howev:[37,49,3,4,43,41,26,19,46,47,32,33,1],against:35,browser:[25,41,6,11,32,17,18,19,20,45,3,27,28,30,12,5,36,37,39,42,44,46,47,48],com:37,varpsi:41,preccurlyeq:41,foral:41,foobar:33,sai:[14,3,24],innerhtml:[3,43],height:[41,42],heirarchi:[],wider:4,sqsupset:41,speak:[13,47],chrome:[30,12,3,46],three:[27,37,24,26,40,1,6,34,44,47],been:[0,37,24,35,14,1,3,4,15,5,17,46,34,28,26,16,44,32,43],trigger:[46,19,29],beta2:[],interest:[16,35,39,4,44],basic:11,accpet:[],tini:41,quickli:[20,46,4],underrightarrow:41,regul:1,xxx:41,uncommon:[],ani:[0,3,4,5,6,8,32,14,15,16,17,18,19,45,22,23,24,26,29,30,12,33,35,27,37,38,41,42,43,44,46,48,1],emploi:[39,46],refexplicit:[],tanh:41,servic:[17,32,37],properti:[10,0,36,33,24,35,14,26,34,45,31,12,21],diamondsuit:41,sourceforg:[],dashboard:9,succeq:41,canb:22,lightli:46,applic:[20,17,25],cong:41,tediou:[],disappear:[5,38,23],amout:15,disabl:[18,30],incorrectli:37,receiv:[35,26,16,44,34,33],suggest:[6,4],make:[0,4,41,6,32,13,14,16,17,19,20,23,38,12,33,5,27,37,49,42,43,44,46,47,1],complex:[46,40],split:41,lrcorner:41,unsafewindow:3,complet:[0,37,24,35,39,14,1,43,16,17,34,26,44,46,12,45],longmapsto:41,hand:[36,15,22,19,47,27,28],fairli:40,rais:41,mkern:41,ignorepast:35,unlhd:41,squar:[41,40],redefin:[6,34],kept:16,presto:[],thu:[24,1,16,26,32,45],inherit:[13,33,31,21,45],contact:[],thi:[0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,22,19,21,23,24,35,25,26,27,28,29,30,31,32,33,34,18,36,37,38,40,41,42,43,44,45,46,47,48,49],idotsint:41,programm:33,everyth:[41,1,12],settimeout:[26,24],left:[36,27,25,15,41,44,22,19,7,9,32],processclass:5,identifi:[10,17,47,32,35],just:[35,27,24,2,26,49,41,17,19,7,20,47,32,1],yen:41,mathbin:41,human:[],depart:[],coprod:41,yet:[27,14,1,43,16,44,46],languag:[39,17,47,46,44],noscript:5,onload:[25,36,3,19,26],errorset:19,ell:41,had:[16,17],myconfig:[16,26],els:[26,3,43],har:[],save:[9,49,7],hat:41,jsmath:[11,47,28],"3px":49,nexist:41,loadtimeout:0,quirk:46,preserv:26,negativethinmathspac:46,background:[41,49],specif:[0,36,2,24,35,39,14,1,43,5,26,34,19,47,12,45],sqsubset:41,arbitrari:41,zoom:[27,19,29],leftrightarrow:41,underli:46,www:[17,32,3,37,42],right:[27,37,39,14,1,3,15,41,18,19,7,30,47,32,22],old:16,simbl:3,deal:46,autobold:[41,32],somehow:[],percentag:[18,30,19],cfrac:41,successfulli:[0,26],interc:41,dddot:41,bottom:7,subclass:[35,36,21,34,45,31,33],circ:41,exectur:35,overcom:[44,46],condit:[0,25],getjaxfor:[16,12,21],core:[32,1,25,41,19,47,12],plu:[35,25],bold:[41,40,32,22],mathrel:41,colleg:37,repositori:37,post:[35,30,25,4,15,16,44,34],"super":33,llless:41,obj:10,nwarrow:41,slightli:[41,7],surround:[18,30],unfortun:37,current_theme_templ:2,joomla:2,downharpoonright:41,geramond:41,encod:41,bound:[],rightsquigarrow:41,down:[9,19],shortparallel:41,sot:[],wrap:33,opportun:[],often:[17,49,47],git:[17,37],wai:[16,23,37,24,2,35,1,3,15,5,17,34,19,26,38,46,31,32,21,47,43],checkmark:41,wab:[],ngtr:41,avail:[0,23,37,17,45,1,27,42,46,5,6,18,19,16,20,30,38,32,33,47],width:[41,46,22,27,42],reli:[0,1,3,43,26,18,46,32],wordpress:[2,7],editor:7,overhead:[],rightthreetim:41,head:[2,3,43,17,7,46,9,32],form:[27,30,39,22,19,47],offer:4,forc:[32,30],epsilon:41,msbm:[],hear:[16,35],downdownarrow:41,"true":[35,36,30,24,41,25,42,5,12,18,19,8,32,33],diretori:37,reset:[42,24],absens:2,displayalign:19,intern:[35,27,0,39,14,1,41,19,46,31,12,21,47],tell:[17,46,3,37,43],moveright:41,nnn:37,featur:[27,37,4,16,26,29,46,33],rfloor:41,drive:37,exist:[41,33,37,24],ddot:41,backsim:41,jax1:[],triangleq:41,check:[0,37,35,41,26,33,17],excel:[],abovewithdelim:41,role:47,test:[10,11,27,37,44,3,43,16,17,9,12,33],tie:[25,24],smallsmil:41,scriptstyl:41,node:10,intend:33,consit:41,munderov:47,gvertneqq:41,consid:[0,32,41,4,5,47,12,45,1],markup2jax:[],configr:[],omega:41,outdat:4,faster:[46,32],bullet:41,tex2jax_ignor:5,ignor:[5,35],time:[0,3,4,41,6,10,32,15,16,17,34,19,24,26,29,12,35,37,1,43,46,47],push:[24,39,14,1,25,43,26,12],mathrm:41,doteq:41,emulateie7:46,skip:5,global:[13,46,36,24,43],skin:2,sourcesforg:[],displayind:19,millisecond:[0,30,24,42,15,6,29,12],decid:[32,42],depend:[24,43,26,7,46,32,48],show:[37,42,6,4,43,41,26,40,19,9,32,17],readabl:39,nearrow:41,varpi:41,certainli:[32,37],vee:41,vec:41,text:[2,3,41,6,7,10,15,16,17,40,19,20,45,22,23,26,9,32,5,30,38,1,43,18,47],succnsim:41,sourc:[11,27,37,1,3,42,16,18,20,30,47,12,45],string:[0,24,35,40,41,15,5,22,19,16,12,45,49],word:[5,47],exact:[],room:22,dim:41,foo:[33,24],administr:[2,7],level:[17,32,37,36],ntriangleleft:41,gui:[],item:[30,40,42,41,26,18],cooki:[10,25],div:[10,41,47,28,43],prevent:[41,23,30,38,42,5,17,22,19],slower:46,compens:18,sign:[41,43,5,17,47,32],cost:[17,32,33],rtype:[],pmb:41,rightarrowtail:41,widehat:41,xandi:33,dotsi:41,dotsm:41,appear:[41,36,37,26,42,15,16,17,19,43,7,32,45],dotso:41,repli:16,dotsc:41,dotsb:41,current:[0,37,2,35,45,46,7,30,9,33],backepsilon:41,ampersand:41,scriptel:[],inlinemath:[5,17,32,43],boost:[],defici:27,amalg:41,mathsiz:41,gener:[26,48,25,6,47,12,45],mfrac:[17,47],slow:[],modif:1,address:[17,9,37,2,7],along:[39,1,15,16,31,21],wait:[0,37,24,35,39,14,1,3,43,16,26,25,19,44,12],box:[41,0,6],html_head:2,shift:19,bot:41,queue:[35,36,24,44,13,14,1,25,43,26,39,12],overriden:12,digamma:41,varlimsup:41,macintosh:12,semant:33,regardless:43,extra:[16,41,47,19],circumv:37,modul:[0,9,36],prefer:[30,17,37,48,42],iepro7:3,veebar:41,visibl:[5,38,1,23,43],marker:41,instal:[11,37,17,46,41,6,7,20,30,9,32],arrowvert:41,memori:[44,45],bigr:41,visit:17,prec:41,subvers:[17,37],stylesheet:[0,36,24,35,14,25,43,44,19,7,46],perp:41,current_skin:2,bigl:41,bigm:41,eqcirc:41,checkout:37,divideontim:41,inputjax:[36,13,45,25,34,31,33],capit:13,sitaut:43,reduct:46,peopl:[],bigtriangleup:41,newcommand:41,visual:20,templat:[9,2,7],hphantom:41,easiest:[37,24,26,16,17,32],graphic:37,prepar:[1,32],cap:41,uniqu:49,risingdotseq:41,pmatrix:41,whatev:[41,2,21,1,43,16,33],cal:41,purpos:[26,47,46],getjaxbytyp:12,downharpoonleft:41,precsim:41,subseteqq:41,varprojlim:41,backslash:[41,22,19],topic:[13,11,32],exportmathml:[],phrase:17,disadvantag:46,occur:[0,12,24,35,14,1,27,3,42,15,16,26,34,19,43,44,32],eqsim:41,nuber:15,pink:41,alwai:[41,26,1,24],multipl:[41,1],trianglelefteq:41,write:[20,17,1,43,35],anyon:[],fourth:1,mathsf:41,tild:41,xhtml:[17,32,27],map:47,product:[],max:41,clone:37,spot:41,succ:41,pending_xref:[],mai:[0,2,3,4,41,6,32,13,16,17,18,19,21,35,26,30,12,33,34,5,27,37,45,1,43,44,46,47],end:[0,27,2,41,7,25,4,5,16,9,1],data:[10,0,36,37,24,33,16,26,34,45,30,31,12,21],newlin:[41,15],vartheta:41,preceq:41,explicit:[],uparrow:41,nsim:41,inform:[0,30,2,35,39,15,16,26,18,19,47,32],"switch":[47,28],looparrowright:41,combin:0,block:[30,17,6,18,19,47,32,34],lnsim:41,approx:41,showmathmath:18,approv:[],lsh:41,tex2math:[17,28],mapl:[],still:[35,27,24,39,1,16,17,19,29,46],pointer:33,ttf:37,dynam:[0,36,11,1,3,43,17,19,44,20,47,32],equiv:[41,46],amssymbol:[41,17,32,3],group:[0,27,4],monitor:4,polici:37,varsigma:41,bigstar:41,platform:[20,11,2,17],window:[36,24,6,3,42,15,26,43,12],alignat:41,main:[47,36,37,1,2,13,33,49,42,41,17,12,19,7,31,32,21,9],mathexampl:43,non:[10,0,47,17,14],msam10:17,halt:44,smash:41,initi:[0,36,44,41,25,42,5,17,34,19,16,47,12,45,1],contectu:46,safari:[46,12,3],natiov:18,now:[39,17,32,37,46],discuss:[10,37,3,4],nor:[6,40],term:15,name:[0,25,41,6,10,32,16,17,22,19,21,23,24,35,3,26,30,31,12,33,34,5,27,37,38,40,49,45,46],opera:[46,12,3,48],boxdot:41,separ:[27,37,49,15,16,17,18,19,32,1],messagestyl:[6,19],sideset:41,januari:11,confid:20,varpropto:41,compil:26,domain:37,replac:[0,12,27,3,43,17,22,7,9,32,33,47],individu:[32,45,43],continu:[16,0,41,1,44],happen:[27,37,14,1,41,44,47],shown:[41,40,19,42,43],accomplish:[37,3,46],space:[43,41,19,46,8,32,47],internet:[0,3,42,15,41,26,19,46,47,32],formula:[43,19,29,20,46,47,32],correct:[26,3,37],simeq:41,earlier:1,ajax:[0,36,13,1,25,16,26,34,12],mime:[32,45,27,17,34,31,12,21],theori:[],underleftarrow:41,org:[17,32,3,42],ord:41,care:[41,32,3],ntrianglelefteq:41,suffici:[41,22,48],x00b1:17,synchron:[0,24,35,39,14,1,3,43,26,25,11,44,12],mscarri:27,thing:[41,17,40,43],place:[0,30,17,33,41,4,43,16,6,22,19,7,9,32,35,1],mathop:41,startuphook:[16,12],ture:18,think:[41,19,43],frequent:[5,16],lambda:41,origin:[33,35,37,14,41,3,43,16,17,45,31,32,21],lfloor:41,suspend:[16,14,1,35],directli:[1,3,43,41,26,47],spoken:[],onc:[0,37,24,35,1,25,43,41,17,28],arrai:[25,41,6,8,32,14,16,17,22,21,23,24,35,3,26,28,46,31,12,34,5,30,38,40,18,47,48],yourself:[41,14,3,19,26],submit:4,open:[11,27,37,42,17,7,20,9],predefin:19,size:[41,49,18,30,43],given:[10,0,33,24,2,35,14,41,40,15,16,26,34,1,19,45,47,12,21,49],convent:[],gif:[],ifmodul:37,evail:1,leftrightharpoon:41,averag:47,circl:41,whith:27,white:49,conveni:[17,32,33,19],myid:49,hub:[25,5,6,8,32,13,15,16,18,19,21,22,23,3,26,29,12,34,36,30,38,45,1,42,43,47,48],especi:47,programat:47,copi:[12,37,3,4,17,27,20,32],specifi:[41,6,8,18,10,14,16,17,40,19,22,24,35,26,29,32,5,30,49,42,44,46,47,48,1],lhd:41,enclos:[47,49,30,19],quad:41,than:[0,41,6,8,32,14,16,17,34,19,20,21,24,35,30,31,12,33,5,27,37,39,49,43,44,46,47,1],serv:[17,32],wide:[20,47,37],instanc:[10,33,1,34,12,45],underbrac:41,were:[16,45,43],posit:[14,30],seri:[1,40],pre:[5,6,27,37],delic:18,lnot:41,doublecup:41,openajax:[],nleftrightarrow:41,svnroot:[],argument:[35,24,1,26,32,33],hskip:41,doctyp:[46,27],mislead:[],engin:[20,11],techniqu:3,npreceq:41,note:[0,3,41,6,32,17,40,19,45,22,35,26,30,12,5,37,49,42,43,46,47,48,1],x2260:17,take:[0,24,2,6,1,25,4,43,41,17,22,26,44,32],noth:[26,24],channel:[16,39],updownarrow:41,begin:[16,41,25,43,5,22,46,47,32,1],sure:[35,37,41,3,4,43,5,17,46,32,1],windowset:42,normal:[41,24,49,3,5,19,47],track:[47,4],udpat:37,beta:[41,17],pair:[10,0,12,24,40,49,5,22,16,31,32,21],fileurl:0,beth:41,latex:[11,39,41,5,17,19,20,47,32],textarea:5,proud:[],sale:18,typeset:[0,25,5,15,16,18,19,20,45,23,3,26,29,12,36,30,38,39,1,42,43,44,47],badg:4,sigma:41,mathfrak:41,showmathmenu:30,newenviron:41,autoreset:24,parentnod:3,unprocess:[12,45,43],permiss:[17,37],hack:46,corner:[36,19,15],label:[41,32,42],xml:[20,39],insruct:2,onli:[0,2,3,4,41,6,32,17,40,19,20,45,35,26,30,12,5,27,37,39,49,43],explicitli:[41,26,5,17,32,33],activ:[27,24,39,4,43,44,46,47],written:[17,7],inlinedelimit:41,otim:41,black:41,offici:[],geq:41,mypic:[5,38,23,40],nearli:[41,32],variou:[35,30,2,13,49,16,6,18,31,32,47],get:[10,11,27,37,24,35,1,3,15,41,17,18,19,26,46,30,43,33],cannot:41,ncong:41,downarrow:41,requir:[0,24,41,3,16,26,34,20,47,12,21,1],prime:41,lceil:41,mathpunct:41,enspac:41,intermitt:[36,15],shortmid:41,retypeset:43,where:[0,2,25,4,41,6,9,10,32,15,16,17,22,21,24,26,30,31,12,36,37,45,49,43,44,47],wiki:[17,47,3],lozeng:41,obejct:14,ismac:[12,25],concern:[47,12],detect:24,parent:[10,33],enumer:41,sponsorship:[],enough:[1,40],between:[41,24,26,1,42,16,17,46,47,12,45],maltes:41,"import":[13,0,1,44,16],across:[39,46],rahter:[],august:[],longleftrightarrow:41,vdot:41,screen:[0,1,43,20,15,21],obscen:[],negmedspac:41,come:[27,37,1,3,26,46,47,32],leftleftarrow:41,img:[23,49,3,5,38,40],timout:0,pertain:17,audienc:46,overbrac:41,mani:[41,32,44,49,5,26,12,1],color:[41,49,40,19],operatornam:41,period:[0,36,37],pop:[],colon:[41,49],unrend:[],cancel:24,pod:41,bigcirc:41,msrow:27,needlessli:26,skew:41,mark:[41,27,49,5,17,28,47,32],addit:[0,27,1,24,6,14,41,43,16,17,19,26,45,31,12,21,49],textnod:10,succapprox:41,fade:6,arcsin:41,refdomain:[],resolut:20,mathplay:[46,32,3,19,42],breve:41,quick:[],texfont:6,blacktriangl:41,former:[],those:[35,27,37,1,24,26,14,41,40,43,16,6,47,34,19,45,20,31,12,21,49],manu:42,"case":[41,37,24,26,33,49,3,43,16,17,40,19,45,30,47,32,21,1],kappa:41,oldstyl:41,addtext:10,invok:46,margin:22,opera10:30,advantag:[46,1,2],barwedg:41,leadsto:41,henc:37,worri:[16,47],destin:12,updatemath:43,jax2:[],bigwedg:41,develop:[39,27,37,4],author:[15,34,19,29,20,47],media:[49,37],postjax:[47,19],same:[16,23,37,35,41,44,5,38,7,32,21,1],html:[2,25,41,6,8,10,11,32,13,16,17,18,19,21,23,3,38,36,30,9,12,5,27,37,39,40,49,42,43,44,46,47,48],pad:[10,49],knuth:39,mathvari:47,document:[0,23,39,11,13,41,3,43,5,17,12,27,19,20,46,38,32,21,47,28],exhaust:32,finish:[39,44,1,3,43],vvdash:41,nest:[36,27],availablefont:[6,32,30],someon:[],longleftarrow:41,capabl:[13,20,32,46],formaterror:12,displaystyl:[41,43],extern:[0,36,26,1,16,44,12],submenu:[19,42,7],appropri:[41,16,17,28,31,47],macro:[41,17,32,22,19],markup:[41,0,47,27,39],leftharpoonup:41,overwithdelim:41,without:[0,27,30,41,16,26,18,47],model:[11,36,37,13,25,41,46,47,33],altertn:46,bigotim:41,stixfont:6,mml2jax:[27,38,3,17,19,47,32],loaderror:0,when:[0,25,5,6,7,8,12,13,14,15,16,17,22,19,20,21,23,24,26,27,28,29,46,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,18,47,48,1],rest:[0,27,1,43,17,20,47],speed:[46,47,32],versu:1,mathzoom:[49,32,29],nleqq:41,except:[17,32,44],littl:[0,35],blog:[17,47],earli:32,hover:[42,19,29],around:[41,32],read:[16,17,27,37,40],outermost:40,boldsymbol:[41,32],messsag:15,hander:19,moo:33,dispatch:[],amp:41,lasterror:12,mod:41,oslash:41,cdot:41,integ:12,server:[37,2,3,17,7,30,9,32],either:[0,37,2,35,13,40,49,3,16,17,22,29,46,12,48],output:[3,41,8,11,32,16,17,18,19,21,27,12,33,34,36,30,39,45,49,42,43,46,47,48],manag:[10,36,37,2,26,39,25,15,17,46,47],lesssim:41,searrow:41,sqcup:41,inlin:[5,17,32],constitut:13,slice:24,easili:[20,17,47],definit:[0,30,49,42,18,29,20],iff:41,shoveright:41,inputid:45,dashleftarrow:41,mathcal:41,variuou:16,complic:[40,27,48,46],refer:[35,37,17,11,3,43,16,6,34,26,44,12,33,45],power:[1,4],inspect:12,broken:47,fulli:[1,27],regexp:5,"throw":[34,3],trianglerighteq:41,assocait:43,underwai:1,greater:41,ddddot:41,act:[41,26,39,1,16,17,22,19,47,32],industri:39,processor:[47,27,30,1,39,49,25,42,41,17,18,46,8,32,48,22],hookrightarrow:41,nobreakspac:41,routin:[10,0,44,26,34,31,12,21],effici:[32,33,43],elementari:27,lessdot:41,triangledown:41,compos:27,rightharpoondown:41,mathbackground:41,your:[0,2,3,4,5,6,7,8,11,32,17,22,19,20,23,26,28,29,30,9,12,18,27,37,38,39,40,41,42,43,44,46,48,1],sqsupseteq:41,fast:[],log:[41,17,37,15],area:[22,15],aren:[],fontwarn:[6,32,19],lor:41,start:[0,37,1,24,11,40,41,25,44,16,17,34,19,7,9,35,47],interfac:[37,2,17,7,20,9],lot:[16,37],machin:[39,37],verbatim:[],buggi:41,categor:32,longer:[35,37,15],liminf:41,mathml:[11,27,39,45,3,47,41,17,18,48,20,46,8,32,21,31],furthermor:[1,19],possibl:[0,27,37,24,6,49,15,17,19,26,46,47,32,33,1],"default":[0,25,41,6,8,32,15,17,22,19,21,23,24,38,29,30,31,12,34,5,37,42,18,47,48],processescap:[5,32],buildrel:41,sepecifi:37,notag:41,embed:27,connect:[26,47],creat:[0,25,4,10,15,16,34,21,24,26,31,33,35,36,37,39,45,1,42,44,47,49],certain:[16,35,44],leftrightsquigarrow:41,twoheadrightarrow:41,varliminf:41,file:[0,2,25,41,6,7,9,32,14,15,16,17,34,19,21,24,3,26,28,31,12,35,37,39,40,49,44,45,46,47,48,1],outputjax:[36,13,45,25,34,21],fill:[46,48],again:[0,32,45,43,41,31,12,21],iiiint:41,googl:4,pmod:41,mathematica:[],hybrid:[],prepend:[],valid:[26,46],you:[2,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,30,9,32,33,34,41,27,37,38,40,49,42,43,44,46,47,48,1],trash:45,architectur:[],mathjaxsetup:[],sequenc:[11,37,14,41,25,16,44],symbol:[41,17],dashv:41,cb2:[],briefli:17,cb1:[],menuset:[19,29],reduc:41,mathcolor:41,lbrace:41,gtrapprox:41,descript:[23,38,3,5,6,36,19],lbrack:41,hello:26,calle:33,potenti:1,escap:[32,22],dst:12,negthickspac:41,represent:47,all:[0,2,3,41,6,11,32,15,16,17,34,19,20,23,24,35,26,27,12,33,5,36,37,38,39,1,44,46,47],consider:[17,32],illustr:43,performth:[],lack:[],dollar:[5,17,41,32,43],asynchorn:[1,43],abil:[46,47,37],follow:[16,37,24,26,13,40,41,25,43,5,17,34,30,47,32,33,49],alt:[3,19],disk:[32,37],multlinewidth:22,scr:41,articl:39,init:33,program:[36,2,44,13,45,1,25,17,20,47,33],smile:41,programmat:[],multlin:[41,22],vert:41,fals:[35,12,30,41,3,42,5,18,19,8,32,33],varrho:41,prooblem:41,"1px":[10,41,49],verb:41,mechan:[35,24,14,1,25,16,44,33],difficult:[26,27,44],loadcomplet:[0,12,34],veri:7,ticket:[],preferredfont:30,list:[25,41,6,7,8,31,32,16,22,19,21,23,24,38,29,9,12,5,30,45,1,42,43,18,47,48],emul:46,adjust:[30,17,18,3,43],plain:41,small:[41,47,22,15],preceed:[5,19],teh:[],getalljax:[12,43],adust:[],lll:41,tex:[3,41,6,8,11,32,16,17,22,19,20,23,36,28,30,31,12,34,5,27,37,39,1,43,46,47],zero:14,design:[20,9,27,3,4],pass:[0,12,24,35,14,1,25,42,16,26,47,32,33],overlin:41,further:[14,47,1],what:[11,23,37,24,38,41,27,4,43,5,6,12,18,19,29,20,30,47,32,42],sub:36,section:[3,41,6,8,32,17,18,19,22,23,26,28,29,9,12,5,27,30,38,42,46,48],advanc:[13,11,32,20],abl:[37,24,17,3,43,16,6,19,7,20,30,9,32],delet:30,version:[11,36,37,25,3,4,43,17,34,29,45,31,12,21],sup:41,method:[10,0,12,33,24,35,14,1,3,15,16,26,34,43,44,31,32,21,45],hasn:[0,34,15],full:[0,13,5,26,19,20],themselv:[40,12,36,25],variat:32,geqslant:41,modular:[20,27],ggg:41,trunk:[],ineffici:[33,19],modifi:[11,43,16,34,12,21],valu:[0,25,5,6,8,10,32,14,16,18,19,22,23,24,38,29,12,33,27,30,26,40,49,42,43,47,48,1],search:[20,11,12,4],sender:16,collater:[],prior:19,amount:[6,22,24],pick:[],action:[0,3,41,32,14,15,16,34,21,24,25,26,29,31,12,35,36,39,1,43,44,47],mathjax_wikipedia:3,magnitud:46,llap:41,via:[0,27,37,24,2,17,45,1,3,15,16,6,29,46,30,47,32,33],shorthand:43,textit:41,href:40,inappropri:16,emptyset:41,famili:[41,0,49],decrement:14,select:[27,37,42,18,46,12],proceed:[1,40],x41:41,distinct:[13,32],mathja:[9,7],regist:[0,35,39,25,16,44,34,31,12,21,47],two:[41,44,40,49,16,17,22,19,46,32,1],offseti:30,taken:[16,41,1,46,43],imath:41,ispc:[12,25],more:[6,32,14,17,40,19,20,24,26,30,31,12,33,35,37,39,49,18,43,44,46,47,48,1],flat:41,diamond:41,desir:[33,37,3],mlongdiv:27,ital:[0,19],flag:[],aleph:41,particular:[10,0,37,24,35,39,14,49,41,17,26,44,46,47,12,33],known:1,upsilon:41,mathml3:27,cach:16,showmathmenumsi:18,none:[35,23,30,24,38,5,26,19,47],mmlorhtml:[46,48,32,3,19],det:41,dev:4,histori:[16,35,25,39],remain:39,paragraph:[41,6,47,43],caveat:37,def:[41,33],deg:41,"_mathml":[],scan:12,myspan:40,registr:34,share:[17,32,37,4],accept:[26,24,43],succneqq:41,minimum:12,explor:[0,3,42,15,41,26,19,46,47,32],sharp:41,mathinput:43,huge:41,cours:[1,27],goal:20,awkward:33,secur:[37,3],rather:[0,41,6,8,14,16,17,34,19,20,21,24,31,32,33,5,27,37,49,43,44,46,47,1],anoth:[35,37,43,14,1,15,16,44,31,32,47],comfort:37,csc:41,snippet:[10,11,23,38,4,5,6,40,19,12],ddagger:41,stix:[30,39,41,6,47,32],simpl:[46,40,19],css:[0,3,41,6,8,11,32,17,18,19,45,27,29,30,12,36,37,39,21,49,42,43,46,47,48],unabl:6,regener:[],resourc:[17,32],referenc:6,faculti:[],variant:39,reflect:[25,43],vdash:41,mstack:27,impliedbi:41,associ:[47,37,24,45,26,18,30,31,12,21,34],curlywedg:41,mytim:26,github:37,onto:[39,17,1,12,43],ambigu:13,caus:[0,36,37,35,45,41,27,42,15,5,17,22,19,26,16,47,12,43,1],callback:[0,36,24,35,13,14,1,25,43,16,26,39,44,31,12,21,45],firefox3:30,merror:49,unrhd:41,help:[37,42,17,4,46,32],soon:[32,3,19,43],trade:46,reftyp:[],through:[35,27,37,41,42,16,44,46,47,32,33,1],hierarchi:[32,37],paramet:[10,0,23,33,24,35,14,15,17,12,22,19,26,38,31,32,21,34,43,45],style:[10,0,30,11,39,40,41,25,42,15,5,6,18,19,29,49,47,12,45,17],arial:41,nifti:[],border:[10,41,49],x221a:27,processupdatetim:12,x221e:47,late:[39,3],isreadi:[36,25],pend:14,amsmathaddit:1,processenviron:5,speech:[],might:[0,27,37,26,1,4,16,17,22,47,32],alter:[5,43],good:[1,3,4],"return":[10,0,27,33,24,35,14,1,15,16,26,34,43,44,31,12,21,45],textstyl:41,hslash:41,framework:[],getelementbyid:43,rlap:41,mathscr:41,instruct:[2,3,17,40,7,9],bigcup:41,did:26,achiev:[],iint:41,found:[0,31,19,4,26],unicod:[41,6,27],x2211:47,button:37,subsystem:25,originaltext:45,transform:47,weight:[40,33],hard:[32,37,4],realli:26,nless:41,expect:[41,46,1,32,19],beyond:4,orient:[13,33,36,25],webserv:[],nleq:41,internext:[],shortcom:44,skiptag:5,publish:[],movabletyp:[],print:[20,49,37],occurr:44,msie:[12,18,48],foreground:49,qualifi:[],safari3:30,userscript:3,ast:41,offsetx:30,mml:[48,47,36,45],reason:[0,12,26,1,27,3,42,15,41,17,34,46,32],base:[36,37,2,44,13,3,25,46,6,34,45,20,30,33],typeet:43,ask:[47,22,4,43],mathr:41,asn:47,basi:[46,48],succnapprox:41,bring:47,drupal:2,msbm10:17,showprocessingmessag:[32,19],perhap:26,bumpeq:41,elementjax:[13,45,36,25,34],stixgener:41,getelementsbytagnam:3,assign:[5,26],major:[20,46,32,3],dont:47,boxplu:41,feel:4,exchang:39,lastnam:26,number:[0,36,37,24,6,40,1,15,17,22,19,26,45,31,12,21,34],fadeoutstep:6,done:[14,47,32,1],construct:[47,1],blank:[35,24,43],stabl:37,miss:[41,24],differ:[41,12,37,24,26,1,43,16,17,44,46,47,32,33],script:[0,12,37,2,25,1,3,43,5,17,47,34,19,7,16,31,32,21,9,45],interact:[20,17,47,45],smoother:6,least:[46,47,12],statement:[1,24],illeg:40,store:[10,35,36,30,24,45,1,43,26,31,12,21,47],option:[41,6,7,8,32,17,40,19,22,23,38,28,29,12,33,34,5,30,42,18,47,48],nleftarrow:41,triangleleft:41,ntrianglerighteq:41,selector:[49,19,15],tex2jax_process:5,part:[16,27,37,24,44,41,3,5,17,22,7,20,47,33,1],pars:41,binom:41,cosh:41,kind:47,whenev:[35,27,37],remot:37,remov:[35,43,45,15,5,19,47,12,21],dtd:[17,32],bridg:45,arrang:24,ffff88:49,comput:[30,12,37],nleqslant:41,packag:[39,37,28],expir:10,"null":[10,0,23,30,24,35,33,3,15,5,6,36,19,43,38,31,12,21,34,45],imagin:[],xref:[],built:[11,3,46],equival:[10,24,1,43,26,40],lim:41,self:27,also:[3,4,41,10,13,15,16,17,18,19,45,24,26,30,32,33,5,27,37,39,42,43,44,47],brack:41,build:[],brace:41,index:[17,37,2],addel:10,ngeqslant:41,most:[36,37,2,24,39,3,49,25,16,34,46,32,33],plan:17,rho:41,alpha:41,rhd:41,vardelta:41,clear:[35,30,24,25,15,16],tpl:2,exp:41,starup:19,usual:[24,26,1,41,6,34,19,47],leftroot:41,nshortparallel:41,carefulli:[40,43],finv:41,particularli:[46,37],rightleftarrow:41,font:[0,37,6,39,40,49,42,15,41,17,18,19,43,44,20,30,47,32,22],fine:[],find:[4,43,6,28,7,46,47,12],preremoveclass:19,surd:41,execut:[0,24,14,1,25,16,26,47],pretti:37,ruin:[],solut:[17,47,37,4],delayedx:24,"public":37,couldn:26,queu:[14,1,24,35],factor:[18,30,19],tagsid:[32,22],precnsim:41,express:[5,16,1,19,35],strut:41,nativ:[27,13,3,20,46,47,32,48],proces:[],greasemonkei:[32,3],donald:39,notransl:34,restart:[5,14,1],ie8:46,ie7:46,ie6:30,vmatrix:41,common:[32,2,39,40,27,41,6,34,12],set:[0,1,25,5,6,8,10,12,15,16,17,18,19,45,22,23,24,3,26,28,29,30,32,33,35,36,37,38,39,40,41,42,43,44,47,48,49],overrightarrow:41,startup:[11,36,3,1,25,43,16,34,19,12],see:[0,4,41,6,7,9,32,14,16,17,18,19,23,24,35,26,28,29,30,31,12,5,27,37,38,39,49,42,43,44,46,47,1],sec:41,arg:41,close:[6,32,27,4],langl:41,someth:[37,4,43,5,17,19],particip:4,won:[1,37],subscript:41,experi:[37,19],altern:[0,41,26,47,32,33],numer:[12,27],complement:41,javascript:[0,2,3,6,7,11,13,16,17,22,19,20,45,24,26,29,9,32,33,18,36,30,39,40,49,42,44,46,47,1],mailbox:[16,39],bmatrix:41,solv:3,longrightarrow:41,classnam:3,popul:25,bodi:[0,43,17,31,32,21],last:[0,32,37,24,14,49,41,12],delimit:[5,17,41,32,47],hyperlink:47,event:[39,3,43,16,44,47],nvdash:41,context:[5,42,19,24],overset:41,hbar:41,whole:[23,44,43,5,38,12],load:[0,2,25,41,11,32,14,15,16,17,34,19,20,21,24,3,26,28,31,12,35,36,37,39,1,43,44,46,47],markdown:47,simpli:[41,23,37,24,38,14,43,5,26,12,34,19,20,31,32,21,28],point:[41,14,17],instanti:33,schedul:26,etra:[],header:[37,2,7],param:[],linux:12,bigve:41,mistak:40,zeta:41,throughout:[],gneq:41,bigtriangledown:41,empti:[36,30,24,1,25,47],dur:12,strategi:46,invis:37,fire:[25,3,26],refdoc:[],imag:[23,37,38,3,5,6,40,20,30],descib:17,coordin:[14,47,1],understand:47,urcorn:41,educ:[],sqcap:41,blacksquar:41,bbfont:41,solid:[10,41,49],formath:[],pitchfork:41,lvert:41,"while":[10,0,27,37,17,48,41,3,16,6,34,19,44,46,47,32,35,1],blacktriangleleft:41,nprec:41,behavior:19,circlearrowright:41,mbox:41,everyon:16,loop:45,subsect:34,measuredangl:41,readi:[16,36,25,34],eqslantless:41,biguplu:41,itself:[35,36,37,1,24,14,41,25,16,12,27,19,45,47,32,33,49],costli:[],overleftarrow:41,rightarrow:41,xleftarrow:41,manang:[],redisplai:15,unexpectedli:17,conflict:47,upuparrow:41,optim:46,domin:39,alert:[16,26,1,24],jsmath2jax:[32,28,23],pulicis:35,user:[41,27,37,24,43,3,4,15,16,6,18,19,29,46,20,30,47,32,42,28],robust:[16,39],wherev:[],typic:[5,41,37],recent:[20,3],lower:[41,36,25,19,15],task:41,getjaxbyinputtyp:12,entri:[39,14,49],searchabl:20,person:26,expens:46,normals:41,scriptsiz:41,fallingdotseq:41,explan:[17,32],rvert:41,obscur:15,mathinn:41,world:[20,26],succsim:41,cut:[],cup:41,blacklozeng:41,ffeeee:41,notifi:16,input:[3,41,8,32,16,17,22,19,45,27,28,31,12,33,34,36,39,21,1,43,46,47],unlik:[20,34],subsequ:41,sum_:47,trueli:43,format:[11,27,30,39,40,41,17,18,19,45,20,46,31,32,21,47],big:[41,32,37],moodl:2,tomathml:45,game:41,insert:[23,24,3,5,38,12,34,19,7,9,32,21,47],nofont:6,bit:[18,33],characterist:[],diagup:41,semi:49,varkappa:41,signal:[35,36,24,44,13,25,16,26,34,39,12],altough:26,collect:[26,49,45,1,24],"boolean":12,popular:[17,28,2],swarrow:41,stackrel:41,lastest:4,creation:[31,25],some:[2,41,6,32,13,14,16,17,18,19,20,21,24,26,30,31,12,33,34,27,37,45,1,43,46,47,48],back:[6,37,45],emph:41,sampl:[37,44,49,16,17,19],mirror:[],scale:[20,18,30,19],culprit:[],delimt:5,prop:[],mathemat:[0,3,41,6,7,31,32,16,17,18,19,20,21,22,23,38,28,29,30,9,12,34,5,27,37,39,45,1,42,43,46,47],larg:[41,0],extension2:[],slash:32,prod:41,reproduc:43,sqsubseteq:41,tex2jax:[41,36,3,43,5,17,27,19,47,32],cgi:0,garamond:41,previou:[26,35,1,24,15],run:[0,3,5,6,8,32,14,16,17,18,22,23,24,25,38,30,12,35,27,37,26,1,43,44,46,47,48],doteqdot:41,odot:41,step:[6,47,2,17],hookleftarrow:41,impor:37,impos:37,react:35,materi:43,retain:[],exportaud:[],microsecond:[],rangl:41,succcurlyeq:41,gamma:41,file3:1,file2:1,file1:1,file4:1,bmod:41,within:[0,12,37,24,6,13,41,27,25,43,5,17,22,28,26,44,47,32,33],todai:39,isjax:12,announc:44,inclus:[],span:[23,5,38,40,19,47,28],question:[17,34,4],textual:[],custom:[15,41,17,20,46,32],handler:[0,36,39,3,25,43,44,47],includ:[0,1,2,25,5,6,8,12,13,16,17,22,19,20,23,24,3,26,27,28,29,30,31,32,34,18,36,37,38,40,41,42,43,46,47,48,49],suit:[6,27,17],nativemml:[27,48,42,18,46,47,32,21],overleftrightarrow:41,ulcorn:41,properli:[0,27,37,6,45,1,3,43,26,12,33],poster:35,atop:41,loadhook:[0,12,26],serif:[41,0,49],link:[37,2,17,13,6,44,32],translat:[31,34,21,47],delta:41,line:[41,23,37,2,25,3,5,17,27,46,47,32],consist:[41,40,1,27,46],rmoustach:41,qquad:41,bigg:41,geqq:41,similar:[44,24],workflow:27,enlarg:29,constant:16,doesn:[41,37,24,45,3,16,19,30,33],repres:[10,23,17,49,15,5,6,40,19,20,38,21,47],mathdiv:[10,26,1,43],tbinom:41,home:0,constortium:20,improv:[46,19,4],phantom:41,extension1:[],iiint:41,titl:[17,43],sequenti:[44,1],invalid:[41,40],llcorner:41,toaudibl:45,bracket:[40,19],shoveleft:41,xrightarrow:41,department:37,supseteq:41,delayclear:30,msup:[17,47],alttext:38,eval:24,enhanc:47,svn:[17,37],rightharpoonup:41,land:41,mimetyp:[45,31,34,21],svg:47,confirm:[],supseteqq:41,depth:41,far:[0,35,15],scroll:9,prototyp:33,code:[0,3,4,41,7,10,11,32,14,16,17,18,19,23,24,35,25,26,12,5,36,38,39,40,49,43,44,1],partial:41,edg:37,queri:47,tiddlywiki:2,edu:[37,3],privat:[44,34,37],elsewher:43,send:[16,35],becam:39,sens:47,fatal:[],sent:[16,35,12,39],actiontyp:30,unzip:37,gnsim:41,xxxxxxxx:[17,37],defamatori:[],mous:[47,30,42,29],untouch:[],tri:[41,0,37,30],ischrom:12,mathit:41,notabl:[],forefox:[37,3],curvearrowleft:41,"try":[33,4,16,17,34,31,21],my_config:[],maction:30,pleas:[17,32,40,4],impli:[41,27],smaller:0,fortun:16,natur:[20,17,41,37,47],varupsilon:41,download:[0,37,6,17,19,47],fullnam:26,hspace:41,click:[30,42,18,19,29,7,37,47],append:10,compat:[39,46],appendchild:[10,3],compar:32,access:[35,37,2,26,45,1,42,41,17,20,33],clipboard:[],mathjax:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],can:[0,1,25,4,5,6,10,12,14,15,16,17,18,19,20,21,24,3,26,27,28,30,31,32,33,34,35,36,37,39,41,43,44,46,47,49],vargamma:41,closur:[26,24,43],leq:41,let:[27,37,3,42,17,40,46,12,48],sinh:41,becom:[27,37,24,1,4,16,33],sinc:[0,12,1,24,35,14,41,27,44,43,16,17,18,19,49,46,47,32,33,22],tex4ht:47,rtime:41,convert:[11,27,24,41,3,5,28,20,47,21],produc:[35,30,24,17,45,41,42,43,16,6,18,19,26,20,46,47,32,21,22],convers:41,larger:47,technolog:[20,4],later:[35,27,30,24,14,1,41,26,12],zscale:19,circledast:41,chang:[18,12,37,2,43,3,42,15,22,30,47,32,45],chanc:[5,16,35],firefox:[32,37,3,46,12,48],rgroup:41,appli:[41,33],iskonqueror:12,lessgtr:41,api:[13,11,20,17],smallmatrix:41,from:[0,2,25,5,11,32,16,17,22,19,21,23,3,26,28,30,31,12,33,34,35,36,37,38,45,41,42,43,46,47,1],zip:[17,37],commun:[16,11,4,17],chi:41,doubl:[22,19,29],upgrad:[6,37,4],varphi:41,next:[41,44,45,43],implic:37,few:[41,17,37,28],msqrt:[17,47],reftarget:[],bowti:41,dash:[49,30],comparison:[1,12],impress:[],doublebarwedg:41,projlim:41,"4ac":17,actual:[10,0,12,24,14,41,43,16,26,27,19,31,32,21,1],versionatleast:12,account:[],alik:3,retriev:10,augment:[33,31,34,21],aperson:26,thin:22,assum:[17,9,43,7],control:[41,23,37,17,49,42,46,5,6,12,18,19,29,38,30,8,32,48,22],tau:41,lesseqgtr:41,tar:37,process:[0,3,41,10,11,32,14,15,16,17,34,19,21,23,25,38,28,31,12,5,27,26,45,1,43,46,47,48],dfrac:41,newmath:43,high:[20,46,47],tag:[2,25,41,7,32,16,17,40,19,45,22,3,38,28,31,12,5,27,37,21,43,47],tan:41,prece:26,delai:[0,37,24,35,42,15,16,19,29,30],gcd:41,getelementsbytagnamen:3,subdirectori:[37,31,21,45],instead:[41,37,17,14,1,43,16,26,47],class4:33,class2:33,sin:41,sim:41,class1:33,simplesup:33,frac:41,overridden:[30,21,34,45,31,33],mspace:[41,27],anothermethod:33,frak:41,redund:[33,19],essenti:[41,47,33],light:[41,33],correspond:[12,30],element:[25,41,6,10,16,17,40,21,23,35,38,36,31,12,33,5,27,30,45,49,43,44,47,1],issu:[0,27,4,15,17,47,32],unaccept:46,allow:[35,27,37,1,2,26,39,40,41,3,42,15,16,17,18,19,29,20,30,33,49],fallback:[30,37],mjx:10,fastest:46,nonumb:41,move:[30,37],nsucc:41,comma:[41,49,32,3,19],dagger:41,mathjax_tooltip:30,movabl:[9,2],coth:41,varxi:41,therefor:41,pixel:30,multimap:41,crash:19,pure:27,handl:[0,36,1,44,39,41,27,3,16,6,18,12,48,34],innermost:40,handi:[],"05em":41,mention:[],successor:28,gggtr:41,somewher:[],anyth:[16,32,4],edit:[17,32,2],smallfrown:41,prepackag:[],mode:[41,30,5,17,46,47],varomega:41,"2em":41,mod_head:37,subset:41,delaypost:30,consum:15,nointerest:35,src:[23,2,38,1,3,43,5,17,12,40,7,9,32],"static":33,our:[37,4],rightleftharpoon:41,helpurl:42,special:[41,12,26,49,5,17,27,19,44,20,46,47,32],out:[0,37,1,16,6,18,46,30,47],variabl:[36,24,13,3,25,43,41,26,33],lesseqqgtr:41,matrix:41,categori:1,rel:[0,18,30],moveabl:[9,2],circlearrowleft:41,ref:12,red:[41,17,32,40],negthinspac:41,nsucceq:41,insid:2,configurbl:[],manipul:43,eqslantgtr:41,releas:[17,3,37],afterward:26,indent:[22,19],could:[0,27,17,13,1,4,43,16,26,47,12,45],put:[0,37,44,3,41,17,32],mac:[12,18,30,19],timer:[],keep:[37,2,39,43,41,17,46,47],gtreqqless:41,length:[3,24],outsid:[5,46,32],"0em":19,uproot:41,softwar:[20,17,47],rbrace:41,blogger:[],rbrack:41,qualiti:[20,46,47],spadesuit:41,date:[17,37],uplu:41,clubsuit:41,bigsqcup:41,"long":[41,1,42],strict:[46,37],unknown:27,system:[37,2,17,4,41,6,20,46],wrapper:[],attach:[16,35,44],termin:5,"final":[26,41,17,40,20,47,32],rsh:41,juli:[],"1em":27,gtreqless:41,blind:47,gtrdot:41,structur:[0,36,24,39,43,16,26,12,32],charact:[41,27,30,49,5,6,22,19,47],htaccess:37,seriou:47,biggl:41,biggm:41,rrightarrow:41,favorit:[],unkown:12,have:[0,2,3,4,41,6,7,32,16,17,18,19,45,24,35,26,30,9,12,33,34,5,27,37,1,43,44,46,47],tabl:27,need:[0,2,3,4,5,6,7,9,12,14,15,16,17,18,19,20,21,22,24,25,26,30,31,32,33,34,41,27,37,39,45,49,43,44,47,1],turn:[10,35,27,24,5,18],biggr:41,woudl:[],min:41,mid:41,decis:46,msam:[],which:[1,2,25,5,9,32,15,16,17,22,19,21,23,24,3,26,27,28,29,30,31,12,33,34,35,36,37,38,40,41,43,45,46,47,49],hbox:41,mit:41,singl:[0,36,24,44,13,49,43,5,17,20,32,1],declaremathoper:41,mathjax_preview:[23,49,5,38,19,47],x22d6:41,unless:[17,32,24,46],bboxfor:[],who:[16,35,4],eight:46,leftthreetim:41,why:[],underset:41,url:[0,37,3,42,17,32],gather:41,request:[0,35,41,16,26,46,1],face:[30,4,6,22,37,32],inde:[32,3],nmid:41,determin:[32,30,2,25,41,18,19,12],flux:1,fact:[35,34],getalljaxfor:[],backsimeq:41,mathjax_messag:15,leftarrowtail:41,verbos:[39,26,19],perfom:44,perfor:46,bracevert:41,woth:27,curlyeqsucc:41,lgroup:41,locat:[0,23,37,17,25,3,43,5,6,12,19,16,38,32,21,47,28],jax:[25,8,32,13,16,17,22,19,45,3,28,31,12,33,34,18,36,30,39,21,49,43,46,47,48],vartriangleright:41,forev:3,should:[3,41,7,9,5,32,14,17,40,19,21,23,24,26,28,31,12,34,35,27,37,38,49,43,46,48,1],imagefont:[6,30],vartriangleleft:41,suppos:[26,43],"5px":10,triangleright:41,local:[37,24,17,1,3,43,6,19,32],hope:6,meant:[],notat:[20,17,41,47,39],regularli:[],fontwarns:49,ignoreclass:5,leqslant:41,triangl:41,enabl:[41,2,5,17,7,9],organ:47,frown:41,stuff:12,she:46,contain:[0,2,3,41,6,10,13,14,15,16,17,34,19,45,23,24,35,26,30,12,5,36,37,38,49,43,47,1],view:[27,37,13,3,17,28,46,20,30],attibut:49,legaci:[],coooki:10,similarli:[0,12],temporarili:15,substack:41,outpu:[],issafari:12,mathord:41,statu:[0,37,26],error:[0,12,27,3,4,41,17,34,19,32],jmath:41,pattern:[5,19],gtrsim:41,state:1,quickest:17,theta:41,neither:[6,32,40],entiti:[41,27],omicron:41,stati:[],nshortmid:41,kei:[10,0,24,35,14,16,19,12],job:32,entir:[12,43],mmorhtmll:[],closebox:6,ker:41,thumb:1,skipstartuptypeset:19,plugin:[2,42,19,20,46,47,32],admin:[9,7],nabla:41,equal:[1,12,33],gnapprox:41,etc:[41,1,19,43],eta:41,equat:[41,23,37,43,5,38,22,19,20,46,47,32,45],futher:46,class3:33,eth:41,limiti:37,lmoustach:41,onchang:43,comment:[17,49,32,19],varnoth:41,dorectori:9,arriv:[16,44],walk:[],distinguish:31,arguement:26,respect:[18,30,24],quit:43,showfontmenu:42,"55em":41,quotat:49,bbb:41,compon:[0,36,35,13,33,49,25,42,16,44,12,27,20,31,32,21,47],json:[],besid:[],treat:17,immedi:[0,14,1,25,43,16],incldu:[],smallsetminu:41,both:[0,32,17,39,1,26,27,19,12,33],formt:[],otf:37,bult:[],psi:41,togeth:[1,12,27,24],injlim:41,present:[6,27,19,4,35],replic:[],multi:41,iscallback:24,cow:33,displaylin:41,align:[41,27,19],contextu:[27,30,42,18,19,29,47,45],studentdisplai:43,defin:[12,30,29,17,25,49,3,42,41,6,18,19,26,1,32,33,22],glossari:[39,11],observ:[],layer:2,almost:41,curvearrowright:41,site:[37,2,17,19,20,9,32],archiv:[17,37],lightweight:[],revis:37,myinputjax:34,welcom:4,parti:16,cross:37,sqrt:[41,17,47],getx:33,extensiondir:34,oint:41,easi:[37,28],curlyve:41,phi:41,http:[17,3,37,42,46],lleftarrow:41,"8em":[41,22],effect:[14,1,3],dai:10,student:43,php:[2,7],trake:4,pull:37,executehook:[35,24],off:[41,44,18,46],center:[41,19],well:[37,24,26,49,4,43,16,17,34,19,44,46],exampl:[0,1,3,4,5,6,8,10,12,14,16,17,22,19,21,23,24,26,27,29,46,30,31,32,33,35,36,37,38,40,41,42,43,44,45,18,47,48,49],command:[27,37,24,39,14,1,25,43,41,19,12],choos:[41,46],undefin:[41,17,32,24,26],setx:33,latest:37,curlyeqprec:41,paus:37,less:[5,41,47,12,37],half:26,obtain:[37,43,17,19,47,21],mistaken:47,mathclos:41,mathoutput:43,simultan:1,emtpi:[],web:[11,37,1,2,17,25,41,3,44,43,16,6,28,7,20,30,9,32,35,47,45],current_them:2,smith:26,textbf:41,cdotp:41,atopwithdelim:41,other:[25,41,5,32,14,16,17,18,19,20,45,24,26,28,30,12,33,34,35,27,37,39,1,43,44,46,47,48],match:[5,35,30],ctrl:19,webpag:28,usemathmlspac:8,ntriangleright:41,know:[35,26,3,16,17,31,21,47],press:19,sourceel:[16,45,21,43],loader:[31,21],recurs:12,mho:41,resid:[],like:[3,41,5,14,15,16,17,20,24,26,28,31,32,35,27,37,39,49,43,44,46,47,1],lost:26,incred:[],messagehook:[16,35,12],necessari:[20,12,45],lose:[],page:[2,25,5,6,7,10,11,12,13,15,16,17,18,19,20,45,23,3,26,28,30,9,32,35,27,37,38,41,42,43,44,46,47,1],captur:39,suppli:[12,45,24],"export":45,superclass:33,proper:[35,12],guarante:[0,1,43,14],librari:[13,1,36,37],glyph:[41,39],kern:41,leak:45,avoid:[41,40,47,27,19],tooltip:30,leav:[10,22,48,43],doublecap:41,twoheadleftarrow:41,daleth:41,upharpoonright:41,journal:39,usag:11,sphericalangl:41,although:[13,17,32,48,35],offset:30,panel:41,varepsilon:41,about:[35,12,37,24,17,41,4,43,16,6,18,28,26,44,30,47,32],rare:1,interven:[],column:22,mathajx:[],genfrac:41,mapsto:41,constructor:33,bigoplu:41,eqalign:41,own:[37,17,13,1,3,4,41,6,44,31,32,21,47],amsmath:[1,3,41,17,22,32],circledr:41,reprocessor:27,automat:[41,14,1,15,5,17,34,46,47,32,33],guard:19,vphantom:41,merg:[10,12],dcocument:12,transfer:[17,37],support:[11,36,30,17,25,27,3,4,41,6,18,20,46,47,32,48],much:[16,39,46,44],bigcap:41,tracker:[17,4],arg1:26,"var":[10,24,1,3,43,16,26,33],arg2:26,"function":[33,0,1,24,35,39,14,41,3,43,16,26,25,44,31,12,21,47],propto:41,unexpect:[18,19],precnapprox:41,studentansw:43,gain:[46,42],highest:[],bug:[37,4,15,17,19,47],made:[45,1,4,44,31,32,21,47],bbbk:41,whether:[41,23,30,38,3,42,43,5,26,18,19,8,12,48],wish:[49,3,4,41,26,46,12],commit:[],displai:[10,11,23,37,17,45,41,27,42,15,5,6,22,19,29,16,20,47,32,21,43],troubl:17,underleftrightarrow:41,asynchron:[0,36,24,35,39,14,1,16,26,44,12],directori:[0,37,2,44,39,45,25,16,17,34,19,7,30,31,32,21,9],below:[2,3,41,6,8,10,17,40,19,21,22,23,38,29,46,30,31,12,34,5,37,45,42,44,18,47,48],meta:46,limit:[41,0,27],otherwis:[0,36,24,15,41,12,7,32,33],problem:[37,26,3,4,41,17,46,47],x03c0:47,"int":[10,26,41],dure:[16,12,45,34,24],filenam:26,novemb:[],implement:[10,0,27,13,41,16,26,34,46,47,33],nolimit:41,inf:41,meth:0,probabl:[37,2,26,16,17,32],oplu:41,mrow:[17,47,27],immateri:1,percent:18,detail:[0,41,6,7,11,32,14,16,17,18,19,23,24,35,38,28,29,30,9,12,5,27,37,1,42,43,44,46,47],arctan:41,book:39,futur:[16,0,46,4,44],varieti:47,downlaod:20,removeaft:6,repeat:[37,2],star:41,"class":[33,35,36,24,13,14,41,5,34,19,45,31,21,47,28],thicksim:41,msgroup:27,stai:[],scientif:39,reliabl:[46,3],rule:[41,6,8,1,19],mathjax_mathml:3,portion:43,auxiliari:[],eot:37,decemb:[]},objtypes:{"0":"py:method"},titles:["The MathJax.Ajax Object","Using Queues","Using MathJax in popular web platforms","Loading MathJax Dynamically","The MathJax Community","The tex2jax Preprocessor","The FontWarnings extension","Installing MathJax in WordPress","The MathML input processor","Using MathJax in Movable Type","The MathJax.HTML Object","MathJax Documentation","The MathJax.Hub Object","The MathJax API","The MathJax.Callback.Queue Class","The MathJax.Message Object","Using Signals","Getting Started","The NativeMML output processor","The Core Configuration Options","What is MathJax?","The MathJax.OutputJax Class","The TeX input processor","The jsMath2jax Preprocessor","The MathJax.Callback Class","The MathJax Startup Sequence","Using Callbacks","MathJax MathML Support","Converting to MathJax from jsMath","The MathZoom extension","The HTML-CSS output processor","The MathJax.InputJax Class","Loading and Configuring MathJax","The MathJax Object-Oriented Programming Model","The Base Jax Class","The MathJax.Callback.Signal Class","The MathJax variable","Installing and Testing MathJax","The mml2jax Preprocessor","Glossary","Describing HTML snippets","MathJax TeX and LaTeX Support","The MathMenu extension","Modifying Math on the Page","Synchronizing your code with MathJax","The MathJax.ElementJax Class","MathJax Output Formats","The MathJax Processing Model","The MMLorHTML configuration options","CSS Style Objects"],objnames:{"0":"Python method"},filenames:["api/ajax","queues","platforms/index","dynamic","community","options/tex2jax","options/FontWarnings","platforms/wordpress","options/MathML","platforms/movable-type","api/html","index","api/hub","api/index","api/queue","api/message","signals","start","options/NativeMML","options/hub","mathjax","api/outputjax","options/TeX","options/jsMath2jax","api/callback","startup","callbacks","mathml","jsMath","options/MathZoom","options/HTML-CSS","api/inputjax","configuration","api/object","api/jax","api/signal","api/variable","installation","options/mml2jax","glossary","HTML-snippets","tex","options/MathMenu","typeset","synchronize","api/elementjax","output","model","options/MMLorHTML","CSS-styles"]})
-\ No newline at end of file
+Search.setIndex({objects:{"":{Load:[0,0,1],Preloading:[0,0,1],Log:[18,0,1],Subclass:[38,0,1],Delay:[28,0,1],Init:[38,0,1],getAllJax:[37,0,1],Interest:[29,0,1],Translate:[39,0,1],Config:[37,0,1],addElement:[12,0,1],Styles:[0,0,1],ExecuteHook:[29,0,1],loadTimeout:[0,0,1],Resume:[17,0,1],Update:[37,0,1],loadComplete:[0,0,1],loadHook:[0,0,1],formatError:[37,0,1],call:[17,0,1],getJaxByInputType:[37,0,1],PreProcess:[37,0,1],Post:[29,0,1],has:[38,0,1],Signal:[28,0,1],executeHooks:[28,0,1],Set:[18,0,1],Insert:[37,0,1],addText:[12,0,1],TextNode:[12,0,1],Augment:[38,0,1],Clear:[18,0,1],Register:[39,0,1],Remove:[18,0,1],Element:[12,0,1],Queue:[28,0,1],NoInterest:[29,0,1],Suspend:[17,0,1],getJaxByType:[37,0,1],Push:[17,0,1],Typeset:[37,0,1],fileURL:[0,0,1],wait:[17,0,1],reset:[28,0,1],getJaxFor:[37,0,1],loadError:[0,0,1],Process:[37,0,1],Text:[45,0,1],setText:[12,0,1],Reprocess:[37,0,1],Startup:[39,0,1],SourceElement:[45,0,1],can:[38,0,1],File:[18,0,1],MessageHook:[29,0,1],isJax:[37,0,1],filterText:[18,0,1],isa:[38,0,1],Require:[0,0,1]}},terms:{represent:51,reprocess:[37,45,48],mathjax_msie_fram:18,four:[1,14],prefix:[12,20,15],asymp:46,blacktriangledown:46,webfont:[6,42,20],whose:[12,7,48,5,31,37,24],html5:[50,14,15,7],under:[41,35],preprocess:[51,37,30,48],slowest:50,worth:7,digit:15,gimel:46,everi:[19,37,15,7],mskip:46,arcco:46,govern:[20,14,7],dotplu:46,affect:[14,35,15,46,37,45,26],isforefox:37,look:[12,46,41,42,28,2,29,53,4,18,5,20,48,8,35,51,37,26],eqnarrai:46,cmd:22,bigodot:46,ominu:46,math:[30,5,7,11,12,13,14,15,40,18,19,20,39,22,23,27,3,43,33,34,35,10,37,46,41,42,44,47,48,49,50,51],nparallel:46,properti:[12,0,32,38,28,29,17,31,39,45,10,37,24],direct:[42,6,14,41,35],consequ:11,second:[0,14,35,28,31,53,49,5,6,21,22,7,19,10,41,24,1],ngeq:46,even:[0,41,28,31,17,46,3,49,48,40,20,21,7,19,23,51,37,29,1],hide:48,prejax:[51,22],neg:46,weren:14,children:41,"new":[30,4,12,13,14,15,18,19,20,25,23,45,26,28,37,10,7,38,29,35,24,1,47,48,49,51],mhtml:2,told:49,limsup:46,elimin:22,behavior:[14,35,22,7],lessapprox:46,blacktriangleright:46,here:[12,29,32,28,31,1,3,48,19,20,39,22,37,45],met:30,lneqq:46,path:[40,0,7,20],noundefin:[40,20,46],interpret:[46,20,35],nrightarrow:46,netowrk:36,forum:[20,4],mbox:46,rceil:46,circleddash:46,mathstrut:46,unix:35,org:[14,15,2,3,47,48,46,20,33,8,50,36,7],thinmathspac:[20,41],unit:15,highli:23,describ:[12,46,14,35,28,20,44,53,30,48,40,6,21,7,31,50,51,37],would:[5,6,9,11,12,14,40,17,20,21,22,45,25,27,28,31,37,33,34,35,7,38,46,42,43,53,47,48,50,51,52,1],afterward:31,readi:[40,19,39,30,32],ltime:46,varlambda:46,call:[0,2,3,46,6,7,9,14,17,18,19,20,25,22,24,26,27,28,29,31,34,35,10,37,38,39,5,42,43,44,45,1,47,48,49,11,51,52],recommend:[20,51,35,50],diretori:35,preview:[5,43,51,27,22],type:[0,2,3,5,8,10,12,14,40,19,20,39,22,45,37,33,36,7,46,41,24,1,48,49,50,51],until:[0,27,29,1,5,31,39,22,7,19,43,37],notin:46,displaymath:[5,7],relat:[0,15],notic:46,warn:[0,14,22,6],jpg:[5,43,21,27],loss:7,hold:[0,21,22,34,51,37],unpack:[20,35],must:[0,41,42,35,6,44,17,46,30,18,5,20,25,22,34,49,50,7,29,53],fbox:[46,15],join:[19,46],centerdot:46,setup:[23,20,41],work:[12,13,14,35,15,31,46,3,4,48,19,20,41,33,49,23,50,7,38],cc0000:[53,22],tag_nam:35,root:[46,0,30,15,18],overrid:[38,6,10,39,24],mathmenu:[42,53,47,40,11,7,26],give:[29,42,20,53,3,19,6,21,25,26],cirit:7,indic:[0,7,31,17,46,30,19,20,29,39,22,45,10,37,24,51],impair:[23,7],want:[4,5,14,40,16,18,19,20,22,24,28,31,35,36,7,38,46,42,1,48,50,52],setminu:46,end:[0,5,41,2,50,46,30,4,40,8,19,36,1],quot:[5,42,15,22],hom:46,heartsuit:46,how:[0,2,3,4,5,6,8,14,40,17,18,20,21,22,27,28,29,43,37,33,34,35,7,46,42,47,49,11,51],disappear:[5,43,27],answer:[4,48],verifi:[20,35,4],config:[2,30,5,6,7,8,9,10,11,14,40,18,19,20,25,22,24,26,27,3,31,33,34,36,37,39,46,42,43,53,47,48,50,52,1],updat:[37,35,15,2,1,48,14,7,45],showrender:47,recogn:20,lai:[50,51],diagdown:46,after:[0,42,28,31,17,1,3,47,18,19,20,39,22,48,49,35,51,7,29,26],befor:[0,2,30,4,46,7,8,14,17,18,19,20,21,22,25,28,29,31,34,37,38,39,5,41,42,44,1,48,49,50,51],wrong:41,startuphook:[19,37],parallel:[46,1,30,15],averag:51,alignedat:46,attempt:[0,41,47],third:[1,41],leftarrow:46,receiv:[29,14,31,19,20,39,49,7,38],greasekit:3,maintain:[19,31,22,4,49],environ:[5,20,46,25,4],enter:[41,48,46,20,51,7],textnod:12,order:[29,14,35,20,44,17,1,30,7,18,5,6,27,22,31,50,43,37,38,51],oper:[0,5,6,9,11,15,17,18,19,25,23,27,43,34,42,39,29,32,35,31,44,1,47,48,50,52],parentnod:[3,15],softwar:[23,20,51],over:[12,0,42,15,46,47,48,40,20,22,34,51,7],fall:[46,6,1,35,20],becaus:[19,14,42,1,31,46,3,18,5,20,21,7,51,41,29,25,48],boxtim:46,suspend:[19,17,1,29],textrm:46,appar:[50,1],afil:31,flexibl:[21,1,14],vari:50,smallint:46,fit:[19,47],fix:[14,35,15,7],strang:41,better:[15,47,40,20,33,8,50,7],boxminu:46,drawback:50,upharpoonleft:46,persist:4,comprehens:44,easier:[29,14,35,1,46,41,38],moveleft:46,them:[12,0,5,14,35,15,20,17,46,41,40,6,25,1,7,31,19,51,37,29,53],thei:[0,3,4,5,6,7,9,14,15,40,16,17,18,19,20,21,22,25,26,27,29,30,31,34,35,37,39,46,41,42,43,44,53,47,48,49,11,51,52,1],qualiti:[23,50,51],safe:[12,3,48],"break":[46,49,1,41,15],mtext:[46,20,15],wedg:46,widetild:46,choic:[50,37,8],dbinom:46,leftharpoondown:46,timeout:[0,15,28],each:[5,7,28,29,46,30,49,18,40,20,48,19,51,37,1],debug:18,side:[20,18,25,22,8],mean:[5,14,2,29,16,30,46,3,49,48,40,31,27,22,19,23,43,7],leqq:46,createel:3,resum:[17,1],leqalignno:46,mathopen:46,looparrowleft:46,network:[14,35,15,40,20,7],goe:[46,49,1],iint:46,newli:[12,19,38],predefin:22,content:[2,30,5,8,10,12,14,15,20,21,22,3,37,36,7,38,40,41,44,1,48,50,51],reader:[40,23,7,15],forth:32,impract:35,multilin:46,situat:[7,15],free:[45,4],ineffici:[38,22],reconfigur:14,lneq:46,angl:46,moment:[20,10,35],isn:[19,39],iphon:15,temporari:7,isa:38,subtl:48,confus:14,mathbb:46,rang:51,mathbf:46,render:[41,15,30,47,5,20,22,23,50,51,52,33],independ:7,yourcolleg:35,restrict:[46,35],hook:[19,0,28,29],instruct:[20,21,3,2],alreadi:[0,28,48,46,3,4,18,19,31,49,7,38,1],primari:50,tooltop:42,top:[32,35,46,20,50,7],sometim:7,underlin:[46,15],master:49,too:[46,42,15,3,5,20],similarli:[0,37,35],john:31,listen:[19,29,37,28],thickapprox:46,namespac:[20,3,15,28,48],tool:[1,35],tagind:25,compressor:15,somewhat:49,technic:44,past:[29,14,15,19,49,23],filesmatch:35,provid:[12,0,41,28,2,31,17,46,18,19,20,29,21,48,49,23,51,37,38,1],eqalignno:46,tree:[20,21],"final":[14,31,46,20,21,23,51],project:[44,7,4],matter:[19,33],mathtt:46,ldotp:46,modern:[23,6,50,13],mind:[46,20,7,2],manner:50,increment:17,seem:[31,41],rightrightarrow:46,ldot:46,person:31,latter:[19,51,21,7,26],expens:50,simplifi:15,though:[28,46,49,21,22,51],object:[0,30,6,12,13,37,16,17,18,19,21,22,24,26,28,31,34,10,7,38,39,29,32,42,44,45,53,47,48,49,11,51,1],gzip:15,regular:[5,22],letter:[20,35],grave:46,don:[14,15,31,1,3,48,19,6,41,7,50,37],dom:[12,45,1,48,19,49,39,22,37,24],doe:[46,41,35,28,52,45,3,19,31,11,22,7,23,50,10,37,24,51],declar:[41,42,53,47,6,11,34],tfrac:46,unchang:[14,52,48],sum:[46,28],came:35,delaystartupuntil:[37,30,22,7],random:[20,35],lnapprox:46,syntax:[46,38,15],mediawiki:2,isopera:37,outerhtml:15,shownam:31,asynchon:48,involv:[49,7,4],consolid:23,layout:45,firstnam:31,mathchoic:46,ismsi:[37,30],menu:[13,41,42,15,30,47,40,11,22,34,8,35,50,36,45,51],explain:[40,49,14,7,26],configur:[0,3,5,6,7,8,9,10,13,14,15,18,19,20,25,22,23,24,26,27,30,31,33,34,35,36,37,39,40,41,42,43,21,46,11,50,51,52],apach:35,configut:21,theme:[7,2,8],explic:14,rich:23,folder:[20,42,35],compli:20,infti:[46,51],report:[41,22,4],circeq:46,subseteq:46,fadeouttim:6,bar:[46,38,28],patch:[7,35],reload:47,bad:15,replacechild:3,neq:46,respond:[29,22,4],dashrightarrow:46,scriptscriptstyl:46,precneqq:46,result:[14,42,28,31,45,1,48,46,20,41,7,50,10,37,24,51],respons:[29,10,15,28],fail:[0,15,31,39,50,26],themselv:[20,37,30,21,32],best:[0,14,35,1,50,51,7],awar:[46,0,1,41],subarrai:46,varinjlim:46,wikipedia:[44,3],circledcirc:46,gneqq:46,awai:[7,35],approach:[31,51,2,48],attribut:[12,15,53,46,43,21,51,7],never:[35,0,7,3,39],extend:[23,51],synchon:19,extens:[0,30,5,6,14,15,40,19,20,25,22,26,27,3,43,37,33,34,7,39,46,32,44,53,47,48,1],add:[5,14,15,2,17,46,40,6,39,22,45,50,38,53],preprocessor:[5,14,43,46,41,30,32,40,20,27,22,7,51,37,48,26,33],intop:46,cot:46,cow:38,howev:[14,35,31,30,53,3,4,18,46,20,22,48,50,51,7,38,1,26],configuraiton:[36,7,15,8],against:29,seri:[1,21],com:35,varpsi:46,pre:[5,14,35,40,6,41,7],foral:46,can:[0,3,4,5,6,7,12,14,15,40,17,18,19,20,39,22,23,24,26,28,29,30,31,32,33,35,10,37,38,46,41,42,44,53,11,48,49,50,51,1],foobar:38,delic:11,innerhtml:[3,48],height:[46,15,47],wider:4,sqsupset:46,speak:[16,51],chrome:[42,50,37,3,15],three:[41,35,28,31,1,6,21,49,51,39],been:[0,3,4,5,14,17,18,19,20,39,24,28,30,31,33,10,7,29,35,1,48,49,50],trigger:[40,50,7,22,34],interest:[19,29,44,4,49],basic:13,tini:46,quickli:[23,50,7,4],underrightarrow:46,regul:1,xxx:46,ani:[0,3,4,5,6,7,9,11,14,40,17,18,19,20,25,22,45,27,28,29,30,31,34,35,37,38,46,41,42,43,1,47,48,49,50,52],embelish:15,emploi:[44,50],dash:[53,42],tanh:46,servic:[14,35,15,20,36,7],showcontext:47,diamondsuit:46,javascipt:20,dashboard:36,"3px":53,succeq:46,canb:25,have:[0,2,30,4,5,6,14,15,40,19,20,11,22,45,26,28,29,3,31,37,35,7,38,46,41,42,1,48,49,50,51],nexist:46,tabl:41,cong:46,sever:[0,14,35,46,48,40,31,51,24,1],amout:18,disabl:[11,14,42],incorrectli:[20,14,15],perform:[30,4,6,14,15,17,18,19,39,22,45,28,31,37,7,29,32,44,1,48,49,50],suggest:[6,4],make:[0,4,46,6,14,15,16,17,19,20,22,23,27,43,37,42,7,38,5,41,35,53,47,48,49,50,51,1],complex:[50,21],split:46,lrcorner:46,unsafewindow:3,complet:[0,14,35,28,31,44,17,1,30,49,48,40,20,39,22,7,19,50,37,29,45],longmapsto:46,hand:[32,18,25,22,51,41,33],fairli:[21,14],rais:[46,15],mkern:46,ignorepast:29,unlhd:46,squar:[46,21,15],redefin:[6,10,39,24],kept:19,thu:[14,28,1,19,31,45],inherit:[16,38,10,24,45],client:42,thi:[0,1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,45,46,47,48,49,50,51,52,53],idotsint:46,programm:38,everyth:[40,46,1,37,7],settimeout:[31,28],left:[41,35,32,30,18,46,49,25,22,8,36,26],processclass:5,identifi:[12,20,46,51,29],just:[46,41,28,2,31,53,40,20,22,8,23,51,7,29,1],yen:46,mathbin:46,coprod:46,yet:[41,17,1,48,19,49,50],languag:[44,49,51],noscript:5,onload:[32,3,30,31,22,7],errorset:[40,22],easi:[35,33],interfer:[40,7],had:[19,20,14,7],myconfig:[19,31],els:[31,3,48],save:[36,7,53,8],hat:46,take:[12,0,14,28,2,31,1,30,4,48,46,6,25,49,7],sanit:18,applic:[23,20,30,2],loadtimeout:0,quirk:50,preserv:31,assit:40,negativethinmathspac:50,background:[46,53,15],sqsubset:46,specif:[0,7,28,2,29,44,17,1,32,5,31,39,22,48,50,51,37,45],deprec:7,arbitrari:46,zoom:[13,41,15,40,22,34,7],leftrightarrow:46,underli:50,www:[35,3,47],right:[11,41,42,44,17,1,3,18,46,25,22,8,35,51,7,26],old:19,famili:[46,0,53],deal:50,autobold:46,begin:[19,35,46,30,48,5,25,50,51,7,1],percentag:[11,42,22],donald:44,successfulli:[0,31],interc:46,dddot:46,bottom:8,subclass:[29,32,24,39,45,10,38],circ:46,tracker:[20,4],overcom:[50,49],condit:[0,30],foo:[38,28],core:[1,30,46,22,51,37,26],plu:[40,29,30],bold:[46,21,25,26],confiogur:20,popular:[20,33,2],colleg:35,repositori:[35,15],post:[29,42,30,4,18,19,49,39],"super":[38,15],llless:46,obj:12,nwarrow:46,slightli:[46,8],surround:[20,11,42],unfortun:[20,35],current_theme_templ:2,joomla:2,span:[27,5,43,21,22,51,33],downharpoonright:46,geramond:46,encod:46,contectu:50,two:[19,1,49,46,40,20,21,22,53,50,7,25,26],down:[36,35,22],shortparallel:46,wrap:38,ntriangleright:46,stackrel:46,git:[20,35,15],suffici:[46,20,25,52,50],checkmark:46,transform:51,ngtr:46,avail:[0,2,5,6,14,19,20,11,22,23,45,27,43,35,7,38,41,42,1,47,48,50,51],width:[41,47,46,20,25,50],reli:[0,14,1,3,48,31,11,50],wordpress:[2,8],editor:8,rightthreetim:46,lnsim:46,form:[41,42,44,18,20,25,22,51,7],offer:[14,15,4],forc:[7,42],epsilon:46,hear:[19,29],downdownarrow:46,"true":[46,14,42,28,29,30,47,5,32,22,7,11,9,37,38],vcenter:46,maxmacro:25,reset:[47,28],absens:2,displayalign:22,intern:[0,41,29,44,17,1,46,22,50,10,37,24,51],tell:[35,3,48,20,50,7],moveright:46,more:[40,6,8,10,14,15,17,20,21,22,23,28,31,37,33,35,36,7,38,39,29,42,44,53,11,48,49,50,51,52,1],nnn:35,featur:[13,41,35,4,48,19,31,34,50,38],rfloor:46,drive:35,exist:[46,20,38,35,28],ddot:46,backsim:46,triangleq:46,check:[0,35,31,18,46,20,29,38],recevi:35,when:[0,30,5,6,7,8,9,11,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,31,32,33,34,35,10,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,1],abovewithdelim:46,role:51,test:[12,13,41,35,49,30,3,48,19,20,50,37,38],tie:[30,28],smallsmil:46,scriptstyl:46,searrow:46,mathel:2,intend:[38,22],consit:46,munderov:51,gvertneqq:46,consid:[0,14,15,46,4,5,20,51,37,45,1],src:[5,14,2,43,46,3,27,48,40,20,21,33,7,8,50,36,37,1],omega:46,outdat:4,longer:[29,14,35,18],bullet:46,anywher:7,tex2jax_ignor:[5,15],ignor:[5,29],time:[0,3,4,46,6,12,37,15,18,19,25,22,28,31,34,7,39,29,35,1,48,50,51],push:[28,44,17,1,30,48,31,37],"5kb":25,mathrm:46,doteq:46,emulateie7:50,skip:[5,35],consum:18,webkit:15,skin:2,displayind:22,millisecond:[0,42,28,47,18,6,34,37],decid:[7,47],depend:[28,30,48,31,8,50,7,52],head:[2,3,48,20,8,50,36,7],newenviron:46,readabl:44,nearrow:46,varpi:46,certainli:35,vee:46,decis:50,text:[2,30,5,6,8,12,14,15,40,18,19,20,21,22,23,45,25,27,3,31,33,36,7,46,42,43,1,11,48,50,51],succnsim:46,sourc:[13,14,42,1,3,47,40,41,19,23,35,51,37,45,11],string:[0,28,29,46,18,5,53,21,22,19,37,45,25],word:[5,51,7],room:25,dim:46,getjaxfor:[19,37,24],administr:[2,8],level:[20,7,35,32],did:31,item:[11,42,47,46,31,21],preprocesor:46,cooki:[12,30,15],div:[12,46,51,33,48],prevent:[46,27,42,15,43,47,5,20,25,22,7],mmlorhtml:[40,50,52,22,26],slower:50,compens:11,sign:[46,14,48,5,20,51,7],cost:[46,20,7,38],pmb:46,rightarrowtail:46,histori:[19,29,30,44],xandi:38,dotsi:46,dotsm:46,appear:[46,32,35,31,47,18,19,20,22,48,8,50,7,45],dotso:46,repli:19,dotsc:46,dotsb:46,current:[0,42,35,2,29,45,8,50,36,7,38],backepsilon:46,ampersand:46,inlinemath:[46,14,48,5,20,7],defici:41,amalg:46,mathsiz:46,gener:[46,7,20,52,30,40,6,33,31,51,37,45],mfrac:[20,51],modif:[1,7],address:[20,35],along:[44,1,18,19,33,10,24],wait:[0,7,35,15,28,29,44,17,1,3,48,19,31,30,39,22,49,37],box:[46,0,15,6],html_head:2,shift:22,bot:46,queue:[29,32,28,49,16,17,1,30,48,31,44,37],overriden:37,digamma:46,varlimsup:46,macintosh:37,semant:38,succsim:46,extra:[19,46,51,15,22],circumv:35,modul:[0,36,32],prefer:[14,42,47,20,50,35,52],iepro7:3,veebar:46,visibl:[5,43,1,27,48],marker:46,myid:53,mobil:[14,15,7],arrowvert:46,memori:[49,45],bigr:46,visit:20,todai:44,subvers:[20,35],stylesheet:[0,32,28,29,17,30,48,49,22,8,50],handler:[0,32,44,3,30,48,49,51,7],current_skin:2,bigl:46,bigm:46,eqcirc:46,checkout:35,bigg:46,inputjax:[32,16,45,30,39,10,38],capit:16,sitaut:48,reduct:50,peopl:20,bigtriangleup:46,enhanc:[51,15],minscaleadjust:42,visual:[40,23,7],accept:[31,28,48],hphantom:46,easiest:[19,20,35,28,31],graphic:35,prepar:[1,7],cap:46,uniqu:53,pmatrix:46,whatev:[46,2,38,1,48,19,24],cal:46,purpos:[31,51,50],getjaxbytyp:37,downharpoonleft:46,subseteqq:46,varprojlim:46,backslash:[46,25,22],topic:[16,13,7],sharp:46,occur:[0,41,28,31,17,1,3,47,18,19,20,39,22,7,49,37,29,48],eqsim:46,nuber:25,pink:46,alwai:[46,31,1,7,28],multipl:[46,1,14],trianglelefteq:46,write:[29,1,48,20,23,50],pure:41,mathsf:46,tild:46,xhtml:[20,41],map:51,book:44,max:46,clone:35,spot:46,usabl:35,mac:[11,37,42,22],udpat:35,mai:[0,2,3,4,46,6,8,14,16,19,20,11,22,24,29,31,37,35,7,38,5,41,42,45,1,48,49,50,51],data:[12,0,32,42,28,38,19,31,39,45,35,10,37,24],grow:2,newlin:[46,15,18],vartheta:46,preceq:46,explicit:[0,7,22,20],uparrow:46,produc:[6,14,19,20,25,22,23,45,26,28,31,33,50,10,7,29,42,24,47,48,11,51],inform:[0,42,2,29,44,18,40,31,11,22,19,51,7],"switch":[51,35,15,33],preced:7,combin:[0,14,15,46,40,20,50,7],block:[11,14,42,15,20,30,3,46,6,39,22,51,7],approx:46,comfort:35,lsh:46,tex2math:33,still:[19,41,28,2,29,44,1,40,22,34,50],pointer:38,ttf:35,dynam:[0,32,13,1,3,48,20,22,49,23,51,7],entiti:[46,41,15],amssymbol:[40,20,46,14,7],conjunct:14,group:[0,41,4],monitor:4,polici:35,ignoreclass:5,platform:[23,13,2,20],window:[32,28,6,3,47,18,31,48,37],"05em":46,bookmarklet:7,main:[46,14,35,1,16,38,53,47,40,20,32,22,7,10,37,24,51],mathexampl:48,non:[12,0,17,46,20,51],within:[0,14,35,15,28,20,16,46,41,30,7,48,5,6,25,33,31,49,51,37,38],myinputjax:39,initi:[0,14,49,46,30,47,32,5,20,39,22,7,19,51,37,45,1],safari:[50,37,3,15],half:31,now:[14,35,15,44,30,20,50,7],discuss:[12,35,7,3,4],nor:[6,21],term:[20,14,7,18],name:[0,30,5,6,7,12,14,15,40,18,19,20,21,22,24,25,26,27,28,29,3,31,35,10,37,38,39,46,41,42,43,45,53,50],opera:[50,52,37,3,15],boxdot:46,drop:35,separ:[11,14,35,53,18,19,20,41,22,7,1,26],messagestyl:[6,22,18],confid:23,compil:31,domain:[20,7,35],replac:[0,14,15,41,3,48,20,25,7,51,37,38,39],individu:[45,15,26,48],continu:[0,46,19,49,7,1],happen:[41,35,17,1,46,49,51],shown:[46,21,22,47,48],accomplish:[20,7,3,35,50],space:[15,48,46,20,22,50,9,51],intermix:30,internet:[0,15,46,3,47,18,40,31,22,50,51,7,26],formula:[48,22,34,23,50,51],correct:[31,14,3],she:50,simeq:46,earlier:[20,1,7],migrat:[13,14],ajax:[0,32,16,1,30,19,31,39,37],mime:[41,45,20,39,10,37,24],underleftarrow:46,brower:46,ord:46,care:[46,20,3,26],ntrianglelefteq:46,couldn:31,x00b1:20,synchron:[0,28,13,44,17,1,3,48,31,30,49,37,29],mscarri:41,thing:[46,20,21,48],place:[0,42,6,46,4,48,19,20,29,25,22,35,7,38,1,33],mathop:46,unwis:50,ture:11,view:[41,42,35,16,3,20,33,23,50,7],think:[46,22,48],frequent:[5,19],first:[19,41,35,1,28,31,46,3,49,48,5,20,29,21,22,8,10,7,24,51],origin:[38,46,35,29,17,3,48,19,20,45,10,24],lfloor:46,oni:35,directli:[35,15,1,3,48,46,31,39,8,51],onc:[0,35,28,29,46,30,48,40,20,39,33,1],arrai:[30,46,6,9,37,15,17,19,21,22,24,25,26,27,28,29,31,33,10,7,39,5,42,43,11,50,51,52],yourself:[35,20,17,3,46,31,22,7],submit:4,open:[13,41,35,47,46,20,8,23,36],ios4:15,size:[11,42,15,53,48,46,25,7],given:[12,0,38,15,2,29,17,46,53,18,19,31,21,1,22,45,28,51,37,24,39],ifmodul:35,evail:1,leftrightharpoon:46,circl:46,white:53,conveni:[20,38,22],hub:[0,30,5,6,7,9,11,14,40,16,18,19,20,25,22,24,26,27,3,31,33,34,37,39,46,32,42,43,45,1,47,48,50,51,52],especi:51,programat:51,copi:[41,35,3,4,20,39,7,23,37],specifi:[30,46,6,9,11,12,14,15,17,19,20,21,22,25,28,29,31,37,34,7,5,42,53,47,49,50,51,52,1],github:35,enclos:[51,53,42,22],quad:46,than:[0,30,5,6,7,8,9,14,15,40,17,19,20,39,22,23,45,26,28,29,35,10,37,38,46,41,42,44,53,48,49,50,51,1],serv:[20,15],wide:[23,51,35],instanc:[12,7,38,1,39,37,45],underbrac:46,were:[19,14,45,48],posit:[17,42,15],stub:39,browser:[30,5,6,12,13,14,15,40,20,11,22,23,45,26,3,37,41,33,35,7,46,32,42,44,47,49,50,51,52],preccurlyeq:46,sai:[17,3,28],lnot:46,doublecup:46,nleftrightarrow:46,argument:[29,28,1,31,38,26],hskip:46,doctyp:[20,41,50],engin:[23,13],techniqu:[14,3],npreceq:46,note:[0,3,46,6,8,37,20,21,22,45,25,29,31,35,7,39,5,42,53,47,48,50,51,52,1],x2260:20,jsmath:[13,51,33],noth:[20,28,31],channel:[19,44],updownarrow:46,surd:[46,15],sure:[46,14,35,15,29,1,4,48,5,20,50,7],windowset:47,normal:[5,28,46,3,40,20,22,51,53],buffer:25,compress:[7,15],beta:[46,50,7],pair:[12,0,28,53,5,21,19,10,37,24,25,26],fileurl:0,beth:46,hotfix:7,latex:[13,44,46,5,20,22,23,51,7],renam:14,textarea:5,later:[29,41,42,28,17,1,46,31,7,37],sale:11,typeset:[0,30,5,15,18,19,11,22,23,45,27,3,43,34,37,32,42,31,44,1,47,48,49,51],badg:4,sigma:46,mathfrak:46,showmathmenu:42,show:[46,35,20,4,48,40,6,21,22,31,36,47,26],autoreset:28,approxeq:46,unprocess:[37,45,48],concurr:30,permiss:[20,35],hack:50,corner:[32,22,18],xml:[23,44],insruct:2,onli:[0,2,3,4,5,6,14,15,40,20,21,22,23,45,29,31,37,35,10,7,46,41,42,44,53,48,50],explicitli:[46,14,15,31,5,20,22,7,38],activ:[41,35,28,44,4,48,49,50,51],written:[20,8],inlinedelimit:46,otim:46,black:46,offici:7,geq:46,mypic:[5,43,21,27],nearli:[40,46,7,26],variou:[0,42,2,29,16,53,18,19,6,11,10,7,51,26],get:[12,13,41,42,15,28,31,30,1,3,18,46,20,29,11,22,48,35,50,7,38],cannot:46,ncong:46,downarrow:46,nsim:46,requir:[0,14,28,46,3,40,31,39,7,19,23,51,37,24,1],prime:46,lceil:46,mathpunct:46,consist:[46,50,1,21,41],intermitt:[32,18],shortmid:46,retypeset:48,where:[0,30,4,46,6,12,14,18,19,20,25,45,28,31,37,35,10,7,40,32,42,24,53,48,49,51],wiki:[20,51,7,3,2],often:[46,20,53,51],lozeng:46,obejct:17,ismac:[37,30],concern:[51,37],infinit:25,detect:[15,28],parent:[12,38],enumer:46,label:[46,47,26],enough:[1,21],between:[46,7,15,28,31,1,47,19,20,50,51,37,45],maltes:46,"import":[0,35,15,16,1,40,49,19,7],across:[44,50],longleftrightarrow:46,vdot:46,screen:[0,15,48,1,18,40,23,7,24],negmedspac:46,come:[14,35,1,3,40,31,41,50,51,7],leftleftarrow:46,manu:47,timout:0,pertain:20,audienc:50,inconsist:14,overbrac:46,improv:[14,15,4,22,50,7],among:7,color:[46,53,21,15,22],operatornam:46,period:[0,32,35],colon:[46,53],autmat:7,cancel:28,"70kb":7,bigcirc:46,msrow:41,damag:20,needlessli:31,skew:46,altern:[46,0,51,38,31],mark:[0,41,46,5,20,33,51,53],addit:[0,14,15,28,20,17,46,7,48,40,6,41,1,22,31,19,10,37,24,53,45],succapprox:46,fade:6,arcsin:46,resolut:23,processenviron:5,supprot:15,breve:46,texfont:6,blacktriangl:46,those:[46,6,37,17,19,20,21,22,23,45,28,29,31,10,7,39,40,41,35,24,53,48,51,1],"case":[46,14,42,28,31,38,53,3,48,19,20,21,22,45,35,51,7,24,1,26],kappa:46,oldstyl:46,addtext:12,invok:50,invoc:7,margin:25,opera10:42,advantag:[50,1,14,7,2],barwedg:46,leadsto:46,henc:35,worri:[19,51],destin:37,updatemath:48,bigwedg:46,develop:[44,41,35,7,4],author:[14,18,39,22,34,23,51],media:[53,7,35],postjax:[51,22],same:[5,14,35,15,29,46,8,27,40,20,25,19,49,43,7,24,1],html:[2,30,5,6,7,9,11,12,13,14,15,40,16,19,20,21,22,24,26,27,3,43,32,33,35,36,37,46,41,42,44,53,47,48,49,50,51,52],pad:[12,53],knuth:44,mathvari:51,document:[0,3,46,13,14,16,20,22,23,24,27,43,37,33,7,5,41,35,44,48,50,51],finish:[44,49,1,3,48],vvdash:46,nest:[41,15,32],assist:7,longleftarrow:46,capabl:[16,23,50],formaterror:37,mani:[46,7,15,49,53,5,31,37,1],extern:[0,32,31,1,19,49,37],submenu:[22,47,8],appropri:[46,19,39,33,10,51],macro:[15,46,20,25,22,7,26],markup:[46,0,51,41,44],leftharpoonup:46,overwithdelim:46,without:[0,14,42,46,19,31,41,11,51,7],model:[13,32,35,16,30,46,50,51,38],altertn:50,bigotim:46,stixfont:6,mml2jax:[41,43,40,20,22,51,26],loaderror:0,rest:[0,41,1,48,20,23,51],flavor:[40,7],speed:[50,51,14,15,7],versu:1,mathzoom:[40,53,34,26],nleqq:46,except:[40,20,49],littl:[0,29],blog:[20,51,7,2],treatment:46,yuicompressor:15,earli:[7,15],hover:[47,22,34],around:[46,7],read:[14,35,15,21,19,20,41,7],outermost:21,boldsymbol:46,messsag:18,getjaxbyinputtyp:37,moo:38,world:[23,31,7],lasterror:37,mod:46,sum_:51,blackberri:15,cdot:46,integ:37,server:[14,42,15,3,40,20,35,7],either:[0,14,35,2,29,16,53,3,19,20,21,7,34,50,37,52,25],output:[3,46,9,11,13,14,15,19,20,39,22,24,26,37,41,33,7,38,40,32,42,44,45,53,47,48,50,51,52],rollov:15,manag:[12,32,35,2,31,44,30,18,20,50,51,45],lesssim:46,node:12,respect:[11,42,28],constitut:16,pod:46,slice:28,easili:[23,51],definit:[0,42,15,53,47,40,25,34,23,11],shoveright:46,inputid:45,dashleftarrow:46,mathcal:46,variuou:19,complic:[50,21,41,52],refer:[13,35,20,45,3,48,19,6,29,39,31,49,37,38],power:[1,4],inspect:37,broken:51,thinspac:46,found:[0,20,4,31,22,10],regexp:5,"throw":[24,10,39,3],trianglerighteq:46,acc:7,comparison:[1,37],underwai:1,ddddot:46,act:[46,44,1,19,31,25,22,51],industri:44,processor:[46,41,42,1,44,53,30,47,40,20,25,50,9,7,52,51,26,11],hookrightarrow:46,nobreakspac:46,routin:[12,0,49,31,39,10,37,24],effici:[38,48],elementari:41,lessdot:46,triangledown:46,compos:41,rightharpoondown:46,mathbackground:46,your:[0,2,3,4,5,6,7,8,9,11,13,14,15,40,20,25,22,23,27,31,33,34,35,36,37,46,41,42,43,44,21,1,47,48,49,50,52],compon:[0,30,46,14,40,16,19,20,23,24,26,37,41,10,7,38,29,32,53,47,49,51],log:[46,20,35,18],area:[25,18],fontwarn:[6,22,26],lor:46,strict:[50,35],compliant:[14,15],interfac:[35,2,20,8,23,36],lot:[19,25,35],lambda:46,programmat:33,buggi:46,categor:26,faster:[50,7,15],pull:35,mathml:[13,41,15,44,45,46,3,51,40,20,11,10,52,8,23,50,9,7,24,36,26],furthermor:[1,14,22,7],possibl:[0,41,35,15,28,31,53,18,40,6,22,50,51,7,38,1],"default":[0,30,5,6,7,9,11,14,40,18,20,25,22,24,26,27,28,43,33,34,35,10,37,39,46,42,47,50,51,52],processescap:[5,46,14,7],buildrel:46,sepecifi:35,notag:46,embed:41,connect:[40,31,51,7],taylor:20,creat:[0,30,4,12,18,19,39,45,28,31,10,38,29,32,35,44,24,1,47,49,51,53],certain:[19,29,49],leftrightsquigarrow:46,risingdotseq:46,varliminf:46,file:[0,2,3,46,6,7,8,10,14,15,17,18,19,20,21,22,24,26,28,29,30,31,33,36,37,39,40,35,44,45,53,49,50,51,52,1],outputjax:[32,16,45,30,39,24],fill:[50,52],again:[46,0,37,45,48],iiiint:46,googl:4,pmod:46,event:[0,15,44,3,48,19,49,22,51],wai:[19,14,35,28,2,31,1,3,18,5,20,51,27,22,48,50,43,7,29,39],you:[1,2,3,4,5,6,7,8,9,11,14,15,16,17,18,19,20,25,22,23,24,26,27,28,30,31,33,35,36,37,38,39,40,41,42,43,21,46,47,48,49,50,51,52,53],trash:45,wthin:7,sequenc:[13,7,35,17,46,30,19,49,37],symbol:[46,20],dashv:46,track:[51,4],menuset:[40,22,34],reduc:[46,7],mathcolor:46,lbrace:46,directori:[0,42,15,49,44,45,30,18,40,20,39,22,19,35,10,7,24],descript:[27,43,3,5,6,32,22],lbrack:46,hello:31,calle:38,potenti:1,escap:25,dst:37,negthickspac:46,lvertneqq:46,all:[0,2,30,5,6,7,13,14,15,40,18,19,20,39,22,23,26,27,28,29,3,31,32,37,38,46,41,35,43,44,1,49,50,51],consider:7,illustr:48,dollar:[46,14,48,5,20,7],abil:[50,51,14,35,15],follow:[5,14,42,15,28,31,16,46,30,53,48,40,20,21,19,35,51,7,38,39,26],alt:[3,22],disk:[40,20,7,35],multlinewidth:25,scr:46,articl:44,init:38,program:[32,2,49,16,45,1,30,20,23,51,38],smile:46,cgi:0,introduc:7,liter:5,multlin:[46,25],vert:46,far:[0,29,35,18],varrho:46,prooblem:46,"1px":[12,46,53],verb:46,mechan:[29,28,17,1,30,19,49,38],difficult:[31,41,49],loadcomplet:[0,37,39],veri:8,preferredfont:42,fourth:1,list:[2,30,46,6,8,9,36,37,19,25,22,45,27,28,43,34,35,10,7,5,42,24,1,47,48,11,51,52],"_html":50,emul:50,adjust:[42,3,48,11,8,36,7],plain:46,small:[42,15,18,46,25,51],preceed:[5,22],dimens:15,getalljax:[37,48],lll:46,tex:[2,3,5,6,7,8,9,10,13,14,15,40,19,20,25,22,23,26,27,32,33,35,36,37,39,46,41,42,44,1,48,50,51],zero:17,design:[41,3,4,40,23,36],pass:[0,14,15,28,29,17,1,30,47,19,31,51,37,38,26],overlin:46,further:[17,51,39,1],what:[0,4,46,6,13,37,15,20,11,22,23,27,28,43,34,35,7,5,41,42,47,48,50,51],sub:32,section:[3,5,6,9,11,14,15,40,25,22,26,27,31,37,33,34,36,7,46,41,42,43,47,50,52],advanc:[16,13,23,7],abl:[14,42,28,2,20,3,48,19,6,22,8,23,35,36,7],delet:42,version:[13,14,35,15,48,30,3,4,32,40,20,39,7,34,45,10,37,24],sup:46,method:[12,0,14,38,28,29,17,1,3,49,18,19,31,39,7,45,10,37,24,48],hasn:[0,10,24,18],full:[0,5,15,16,3,48,40,31,22,23,7],exectu:28,geqslant:46,modular:[23,41],ggg:46,standard:[19,35,44,46,40,20,23,50,51,7,53],modifi:[13,14,2,48,46,18,40,20,39,7,19,37,24],valu:[0,30,46,6,9,12,15,17,19,21,22,25,26,27,28,31,34,37,38,5,41,42,43,53,47,48,11,51,52,1],search:[23,13,37,4],sender:19,prior:[46,22],amount:[6,25,28],action:[0,7,28,29,32,17,46,3,18,19,31,30,39,44,34,49,51,37,48,1],mathjax_wikipedia:3,mml_htmlormml:[14,2,3,40,20,8,50,36,7],magnitud:50,llap:46,via:[0,2,30,40,6,14,15,18,19,20,39,45,26,28,3,34,35,7,38,41,42,1,51],shorthand:48,filenam:[31,14,3,7],href:[21,15],inappropri:19,emptyset:46,simbl:3,decrement:17,establish:40,select:[41,35,47,40,11,50,37],proceed:[1,21],x41:46,distinct:16,ctrl:22,regist:[0,7,29,44,30,19,49,39,10,37,24,51],rightsquigarrow:46,asn:51,taken:[19,46,1,48,50],imath:46,ispc:[37,30],vec:46,flat:46,diamond:46,desir:[40,38,3,35],mlongdiv:41,ital:[0,22],flag:22,aleph:46,particular:[12,0,7,35,28,31,44,17,53,46,20,29,49,50,51,37,38],known:1,upsilon:46,mathml3:41,cach:[19,7],showmathmenumsi:[40,11,15],none:[29,27,42,28,43,5,31,22,51,7],outlin:15,det:46,dev:4,widehat:46,remain:[40,44],paragraph:[46,6,51,48,20],caveat:[20,35],def:[46,25,38],deg:46,scan:37,myspan:21,challeng:40,registr:39,share:[20,7,35,4],templat:[36,7,2,8],succneqq:46,minimum:[37,42,15],explor:[0,15,46,3,47,18,40,31,22,50,51,7,26],phrase:[46,20],mathinput:48,huge:46,cours:[1,14,41,7],goal:23,awkward:38,secur:[35,3],rather:[0,30,46,6,9,14,15,17,19,20,39,22,23,45,26,28,7,38,5,41,35,53,48,49,50,51,1],anoth:[29,35,17,1,18,19,49,10,48,51,26],showmathmath:11,csc:46,snippet:[12,13,27,43,4,5,6,21,22,37],ddagger:46,stix:[42,15,44,46,6,35,51,7],simpl:[50,21,22,18],css:[0,3,46,6,9,13,14,15,20,11,22,24,26,37,41,33,34,35,7,40,32,42,44,45,53,47,48,50,51,52],unabl:6,resourc:15,referenc:6,mtabl:40,variant:44,reflect:[30,48],vdash:46,mstack:41,impliedbi:46,associ:[11,42,28,45,31,39,35,10,37,24,51],welcom:4,mytim:31,lhd:46,footer:7,onto:[44,20,1,37,48],ambigu:16,caus:[0,41,35,1,31,45,46,47,18,5,20,32,25,22,7,19,51,37,29,39,48],callback:[0,32,28,29,16,17,1,30,48,19,31,39,44,49,37,45],firefox3:42,merror:53,unrhd:46,help:[13,14,35,4,20,47,50,7],soon:[7,3,22,48],trade:[50,7],through:[46,14,35,15,29,1,47,19,49,41,50,51,7,38,26],hierarchi:[7,35],paramet:[0,30,46,12,14,15,17,18,20,25,22,24,26,27,28,29,31,37,10,7,38,39,40,43,45,48],style:[12,0,42,15,13,44,46,30,47,18,5,6,21,22,34,11,51,37,45,53],arial:46,border:[12,46,53],x221a:41,processupdatetim:37,x221e:51,late:[44,3],isreadi:[32,30],pend:17,amsmathaddit:1,mathplay:[50,3,15,47,22],might:[0,14,35,31,1,4,19,20,25,7,51,41],alter:[5,48],good:[1,3,4],"return":[12,0,41,38,28,29,17,1,49,18,19,31,39,48,45,10,37,24],textstyl:46,hslash:46,getelementbyid:48,rlap:46,funciton:39,mathscr:46,unlik:[23,7,39],bigcup:46,ntriangleleft:46,iff:46,x2212:[20,51],fulli:[20,1,41],unicod:[46,6,41],x2211:51,forefox:3,subsystem:30,originaltext:45,weight:[21,38],hard:[35,15,4,40,20,7],realli:[31,22],nless:46,expect:[46,50,1,7,22],beyond:4,orient:[16,38,32,30],"try":[35,4,19,20,39,38],shortcom:49,skiptag:5,asynchorn:[1,48],print:[23,53,35],occurr:49,msie:[11,37,52],foreground:53,availablefont:[6,7,42],safari3:42,ast:46,offsetx:42,symbian:15,mml:[32,52,40,20,10,45,51],reason:[0,41,31,1,3,47,18,46,20,25,50,37,39],base:[14,42,35,2,49,16,30,3,32,6,39,45,23,50,7,38],typeet:48,sbe:30,put:[0,14,35,49,46,20,7,26],mathr:46,offseti:42,basi:[50,7,52],succnapprox:46,bring:51,drupal:2,msbm10:20,showprocessingmessag:[22,26],perhap:[31,7],bumpeq:46,elementjax:[32,16,30,39,10,45],stixgener:46,getelementsbytagnam:3,assign:[5,31],major:[23,50,7,3],dont:51,boxplu:46,feel:4,exchang:44,lastnam:31,number:[0,2,40,6,14,15,18,20,21,22,45,25,28,31,37,10,7,39,32,35,24,1,50],fadeoutstep:6,done:[17,51,7,30,1],least:[50,51,37,7],blank:[29,28,48],stabl:[7,35],miss:[46,28],differ:[46,7,35,28,31,1,48,19,20,49,50,51,37,38],script:[0,2,30,5,8,10,12,14,15,40,19,20,39,22,24,3,37,33,36,7,46,35,45,1,48,50,51],interact:[23,20,51,7,45],smoother:6,construct:[51,1],statement:[1,28],illeg:[21,15,7],store:[12,29,14,42,15,28,45,1,48,31,32,33,7,10,37,24,51],option:[5,6,8,9,13,14,40,20,21,22,25,26,27,43,37,33,34,7,38,39,46,42,47,11,51,52],nleftarrow:46,triangleleft:46,ntrianglerighteq:46,selector:[53,22,18],tex2jax_process:5,part:[5,41,35,28,49,46,8,3,40,20,25,19,23,50,51,7,38,1],pars:[46,15],binom:46,cosh:46,kind:51,aaa:25,prebuilt:20,whenev:[29,41,35],remot:35,remov:[29,7,15,48,45,18,5,22,51,37,24],dtd:20,bridg:45,arrang:28,ffff88:53,comput:[35,37,42],nleqslant:46,img:[27,53,3,5,43,21],packag:[44,7,35,33],expir:12,"null":[12,0,27,42,15,28,29,38,3,18,5,6,32,39,22,48,43,10,37,24,45],built:[13,14,3,50],equival:[12,28,1,48,40,31,21],lim:46,self:[20,41,15],ell:46,also:[3,4,5,12,14,40,16,18,19,20,11,22,45,28,31,35,7,38,46,41,42,44,47,48,49,51],brack:46,build:20,brace:46,distribut:[20,36,14,35,7],appendchild:[12,3],addel:12,reach:7,react:29,most:[19,32,35,15,2,44,30,53,3,40,20,39,28,50,7,38],plan:20,rho:46,alpha:46,rhd:46,vardelta:46,componet:7,clear:[29,42,28,30,18,19],tpl:2,exp:46,latest:[14,35,2,3,48,46,20,33,8,50,36,7],leftroot:46,cdata:15,nshortparallel:46,carefulli:[21,48],cdn:[14,35,15,2,3,48,46,20,33,8,50,36,7],finv:46,particularli:[40,50,35],rightleftarrow:46,font:[0,46,6,13,14,15,18,20,21,22,23,25,35,7,11,42,44,53,47,48,49,51],find:[7,4,48,6,33,8,50,51,37],preremoveclass:22,execut:[0,28,17,1,30,19,31,51,7],pretti:35,solut:[20,51,35,4],delayedx:28,"public":35,queu:[17,1,7,28,29],factor:[11,42,15,22],noerror:[40,20,46],tagsid:[25,26],precnsim:46,express:[19,29,1,5,25,22],strut:46,nativ:[41,16,3,40,23,50,51,52],mainten:14,greasemonkei:[7,3],konqueror:[50,37],restart:[5,17,1,7,35],ie9:[50,35,15],ie8:[50,15],ie7:50,acut:46,vmatrix:46,common:[13,14,2,20,44,46,41,40,6,21,7,37,39],set:[0,30,5,6,7,9,12,14,15,40,18,19,20,21,22,45,25,26,27,28,29,3,31,33,34,35,37,38,46,32,42,43,44,53,47,48,49,11,51,52,1],overrightarrow:46,startup:[13,7,15,48,30,1,3,32,19,39,22,37],see:[0,30,4,5,6,7,8,10,14,15,40,17,19,20,11,22,26,27,28,29,31,33,34,35,36,37,46,41,42,43,44,53,47,48,49,50,51,1],sec:46,arg:46,ams_hml:7,disadvantag:50,langl:46,someth:[46,35,4,48,5,20,22],particip:4,won:[1,7,35,15],subscript:[46,15],experi:22,attibut:53,numer:[37,41],complement:46,javascript:[0,2,3,46,6,8,11,13,14,16,19,20,21,22,23,45,25,26,28,31,34,36,7,38,40,32,42,44,53,47,48,49,50,51,1],isol:15,mailbox:[19,44],bmatrix:46,consumpt:15,distinguish:10,longrightarrow:46,errat:7,classnam:3,popul:30,varsigma:46,last:[0,35,28,17,53,46,37,26],delimit:[46,14,15,5,20,51,7],hyperlink:51,nvdash:46,context:[5,47,22,28],collect:[31,53,45,1,28],overset:46,hbar:46,whole:[27,49,48,5,43,37],becam:44,load:[0,2,3,46,7,10,13,14,15,17,18,19,20,39,22,23,24,28,29,30,31,33,36,37,40,32,35,44,1,48,49,50,51],markdown:51,simpli:[5,14,35,28,43,17,46,48,40,31,27,22,7,23,37,39,33],point:[46,17,7,20],instanti:38,schedul:31,usemathmlspac:9,header:[7,35,2,8],suppli:[37,45,28],simplu:39,mistak:21,zeta:46,laod:[7,39],gneq:46,devic:[14,15,7],due:14,empti:[32,42,28,1,30,22,51],otherwis:[0,7,28,46,18,40,20,32,8,50,37,38],dur:37,strategi:50,invis:35,fire:[30,7,3,31],imag:[14,42,15,43,3,27,5,6,21,23,35,7],coordin:[17,51,1],understand:[40,51],demand:40,urcorn:46,convers:46,blacksquar:46,bbfont:46,solid:[12,46,53],pitchfork:46,lvert:46,"while":[12,0,14,35,20,52,46,3,19,6,41,22,49,50,51,7,29,1],blacktriangleleft:46,nprec:46,abov:[12,46,42,15,28,20,1,3,48,5,6,22,31,35,50,7,38],circlearrowright:46,bowti:46,everyon:19,loop:[25,45],pack:15,subsect:39,measuredangl:46,vartriangl:46,eqslantless:46,biguplu:46,itself:[46,14,35,1,28,29,17,53,30,32,19,41,22,7,45,51,37,38,39,26],overleftarrow:46,limit:[12,0,41,46,25,7],rightarrow:46,xleftarrow:46,shorten:18,shorter:15,redisplai:18,conflict:[51,15],upuparrow:46,optim:[50,15],domin:44,alert:[19,31,1,28],jsmath2jax:[27,15,26,33],hander:22,pulicis:29,user:[3,4,46,6,13,18,19,20,11,22,23,28,33,34,35,7,40,41,42,47,48,50,51],robust:[19,44],stack:25,recent:[23,3],lower:[32,15,30,18,46,22],task:46,older:7,entri:[44,17,53,15],searchabl:23,ngeqq:46,textit:46,curvearrowleft:46,normals:46,scriptsiz:46,fallingdotseq:46,explan:20,rvert:46,obscur:[15,18],press:22,amp:[46,15],regardless:48,cup:46,blacklozeng:46,ffeeee:46,notifi:19,input:[3,46,8,9,36,14,15,19,20,39,22,24,25,26,37,32,33,10,7,38,40,41,44,45,1,48,50,51],subsequ:[46,39],sin:46,oslash:46,trueli:48,march:13,format:[13,14,42,44,45,46,11,40,20,21,22,23,50,10,41,24,51],big:[46,35,26],moodl:2,tomathml:[40,45],game:46,insert:[27,28,3,5,43,39,22,8,36,37,24,51],bit:[11,38],diagup:46,semi:53,varkappa:46,signal:[29,7,28,49,16,30,32,19,31,39,44,37],altough:31,resolv:15,"0em":22,api:[16,13,23,20],mathrel:46,swarrow:46,scrip:14,gtrless:46,lastest:4,creation:[10,30],some:[2,3,46,6,14,16,17,19,20,39,22,23,24,26,28,31,37,35,10,7,38,40,41,42,45,1,11,48,50,51,52],back:[6,35,45],emph:46,global:[16,50,32,28,48],urgent:7,sampl:[35,49,53,30,48,19,20,22,50],instal:[13,14,42,15,20,35,46,6,8,23,50,7],scale:[23,11,42,15,22],flux:1,delimt:5,substitut:25,mathemat:[0,3,5,6,8,10,11,7,15,40,19,20,25,22,23,24,27,43,33,34,35,36,37,39,46,41,42,44,45,1,47,48,50,51],larg:[46,0,14,7],temprorari:7,prod:46,reproduc:48,sqsubseteq:46,tex2jax:[5,14,15,48,46,3,32,40,20,41,22,51,7,26],machin:[44,35],garamond:46,previou:[31,1,29,28,18],run:[0,3,5,6,9,37,17,19,20,25,27,28,30,43,35,7,29,41,42,31,1,11,48,49,50,51,52],doteqdot:46,odot:46,step:[6,51,30,2,20],hookleftarrow:46,impor:35,impos:35,ngeqslant:46,reappear:18,materi:[15,48],dialog:15,rangl:46,succcurlyeq:46,gamma:46,file3:1,file2:[0,1],file1:[0,1],file4:1,bmod:46,msam10:20,prec:46,notat:[44,46,20,23,51,7],isjax:37,chang:[11,14,42,15,2,48,3,47,18,20,25,7,35,51,37,45],announc:49,triangl:46,question:[20,39,4],fast:[14,15,7],custom:[46,15,18,40,20,23,50],adjac:15,perp:46,includ:[0,2,30,5,6,7,9,11,14,15,40,16,19,20,21,22,23,25,26,27,28,3,31,32,33,34,35,10,37,39,46,41,42,43,53,47,48,50,51,52,1],suit:[6,14,41,7,20],nativemml:[41,52,47,40,11,50,51,24,26],overleftrightarrow:46,ulcorn:46,properli:[12,0,14,35,15,20,45,1,3,48,6,41,31,37,38],poster:29,atop:46,loadhook:[0,37,31],serif:[46,0,53],link:[14,35,15,2,20,16,6,49,7],translat:[51,10,39,24,15],delta:46,line:[46,14,35,15,2,30,3,5,20,27,7,50,51,41,26],enspac:46,rmoustach:46,qquad:46,divideontim:46,geqq:46,similar:[49,35,28],enlarg:34,constant:[19,25],doesn:[19,42,28,45,46,3,40,22,35,7,38],repres:[12,27,20,53,18,5,6,21,22,23,43,24,51],mathdiv:[12,31,1,48],tbinom:46,home:0,constortium:23,phantom:46,iiint:46,titl:[20,48],sequenti:[49,1,30],invalid:[46,21],llcorner:46,toaudibl:45,bracket:[21,22],shoveleft:46,xrightarrow:46,department:35,supseteq:46,nice:3,delayclear:42,msup:[20,51],alttext:43,eval:28,newcommand:46,svn:[20,35],rightharpoonup:46,land:46,mimetyp:[45,10,39,24],svg:[51,15],supseteqq:46,depth:46,dot:46,leak:45,scroll:36,prototyp:38,code:[0,3,4,5,8,12,13,37,40,17,19,20,21,22,27,28,29,30,31,7,46,32,43,44,53,48,49,11,1],partial:46,queri:51,tiddlywiki:2,edu:35,privat:[49,39,35],elsewher:48,send:[19,29,7],exectur:29,sens:51,sent:[19,29,37,44],actiontyp:42,unzip:35,gnsim:46,xxxxxxxx:[20,35],mous:[51,47,42,15,34],tri:[46,0,42],ischrom:37,mathit:46,button:35,geograph:7,fewer:40,nleq:46,userscript:3,maction:[42,15],pleas:[21,4],impli:[46,41],smaller:[40,0],fortun:19,arctan:46,natur:[23,20,46,35,51],varupsilon:46,download:[0,14,35,15,6,20,22,51,7],fullnam:31,hspace:46,click:[42,47,40,11,22,34,8,35,51,7],append:12,compat:[44,50,7,15,22],index:[20,35,2],access:[46,35,15,2,31,45,1,47,40,20,29,23,7,38],mathjax:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],backprim:46,vargamma:46,closur:[31,28,48],leq:46,let:[14,35,41,3,47,20,21,50,37,52],sinh:46,becom:[14,35,28,1,4,19,41,38],sinc:[0,46,14,15,40,17,19,20,25,22,28,37,7,38,29,41,53,11,48,49,50,51,1],tex4ht:51,rtime:46,convert:[13,41,28,46,3,18,5,33,23,51,24],sqcap:46,larger:[40,20,51,7],technolog:[40,23,7,4],zscale:22,circledast:46,typic:[5,46,10,7,35],honor:35,chanc:[5,19,29,20],firefox:[35,15,3,50,37,52],rgroup:46,appli:[46,7,38],iskonqueror:37,lessgtr:46,"boolean":37,smallmatrix:46,cloud:[14,7],from:[0,2,30,46,7,10,13,14,15,18,19,20,25,22,24,27,29,3,31,33,35,36,37,38,39,5,32,42,43,45,1,47,48,50,51],zip:[20,35,15],commun:[19,13,4,20],chi:46,doubl:[40,7,25,22,34],upgrad:[6,35,4,13],varphi:46,next:[46,49,45,48],implic:35,few:[46,20,35,33],msqrt:[20,51],simpler:18,newmath:48,assocait:48,doublebarwedg:46,projlim:46,"4ac":20,actual:[12,0,41,28,17,46,48,19,31,22,7,10,37,24,1],versionatleast:37,account:12,alik:3,retriev:12,augment:[38,10,39,24],aperson:31,thin:25,control:[5,27,42,35,20,46,7,47,40,6,25,22,34,43,50,9,37,52,53,11],tau:46,tar:35,process:[0,3,5,7,12,13,14,15,40,17,18,19,20,25,22,24,26,27,30,31,33,10,37,39,46,41,43,45,1,48,50,51,52],dfrac:46,preformat:15,high:[23,50,51],tag:[2,30,46,8,14,15,19,20,21,22,24,25,26,3,43,37,33,10,7,5,41,35,45,48,51],tan:46,prece:31,delai:[0,7,42,28,29,47,18,40,22,34,19,37],fontwarns:53,gcd:46,getelementsbytagnamen:3,subdirectori:[35,10,24,45],instead:[46,14,35,15,31,17,1,48,19,20,51,7],class4:38,class2:38,smallfrown:46,sim:46,class1:38,simplesup:38,frac:46,overridden:[42,24,18,39,45,10,38],mspace:[46,20,41,15],anothermethod:38,frak:46,filtertext:18,redund:[38,22],essenti:[40,46,51,7,38],light:[46,38],correspond:[37,42,33,7],element:[30,5,6,12,37,15,40,19,20,21,24,27,29,43,32,10,7,38,46,41,42,45,53,48,49,51,1],issu:[0,41,4,18,22,51,7],unaccept:50,allow:[2,3,46,14,15,18,19,20,21,22,23,25,31,34,35,7,38,29,41,42,44,53,47,11,1],fallback:[35,42],mjx:12,fastest:50,nonumb:46,move:[35,14,42],nsucc:46,comma:[53,3,46,22,7,26],dagger:46,mathjax_tooltip:42,movabl:[36,2],chosen:50,coth:46,varxi:46,therefor:46,pixel:42,multimap:46,crash:22,greater:46,handl:[0,14,15,49,44,46,3,32,19,6,41,7,11,1,37,52,39],supsetneq:46,nokia:15,innermost:21,dai:12,automat:[46,17,1,18,5,20,39,50,51,38],front:[40,15],successor:33,gggtr:46,sourceel:[19,45,24,48],anyth:[19,26,4],edit:[7,2,8],class3:38,mode:[46,42,15,5,20,33,35,50,51],varomega:46,"2em":46,genfrac:46,subset:46,delaypost:42,nointerest:29,meta:50,"static":38,our:[14,35,15,4,20,36],meth:39,ie6:42,special:[46,41,31,53,5,20,22,7,49,23,50,51,37],out:[0,35,1,42,19,6,11,50,51],variabl:[32,28,16,3,30,48,46,31,38],lesseqqgtr:46,reflow:15,categori:1,rel:[0,11,42,15],moveabl:[36,2],merg:[12,37],ref:37,red:[46,20,21],negthinspac:46,nsucceq:46,insid:[15,2],workflow:41,manipul:48,eqslantgtr:46,releas:[20,7,3,35],bleed:15,indent:[25,22],could:[0,14,31,16,46,4,48,19,20,41,7,51,37,45,1],ask:[4,48,20,25,51,7],succ:46,keep:[14,35,2,44,48,46,20,50,51,7],gtreqqless:46,length:[3,28],outsid:[5,50],uproot:46,unexpectedli:[46,20],rbrace:46,blogger:2,rbrack:46,precapprox:46,spadesuit:46,date:[20,14,35,15,7],uplu:46,clubsuit:46,bigsqcup:46,suffic:20,"long":[46,20,1,15,47],start:[0,14,35,1,28,13,46,30,49,51,19,20,21,22,8,36,7,29,39],unknown:41,system:[35,2,20,4,46,6,23,50],messag:[0,14,35,44,20,16,46,30,49,18,40,6,32,39,22,19,37,29],attach:[19,29,49],termin:5,iota:46,rsh:46,supset:46,"1em":41,gtreqless:46,exactli:50,blind:51,ipad:15,gtrdot:46,subsetneq:46,structur:[0,7,28,31,44,48,19,20,32,37,26],charact:[46,41,42,15,53,5,6,25,22,51],htaccess:35,seriou:51,bet:35,exhibit:35,"function":[0,28,29,44,17,46,3,48,19,31,30,49,51,37,38,1],biggl:46,biggm:46,rrightarrow:46,unkown:37,lightli:50,close:[41,15,20,4,40,6,26],need:[0,1,2,3,4,5,6,7,8,10,14,15,17,18,19,20,25,22,23,24,28,30,31,35,36,37,38,39,40,41,42,44,45,46,48,49,11,51,53],turn:[12,5,41,28,29,40,11],biggr:46,min:46,mid:46,which:[2,30,5,7,10,14,15,40,18,19,20,21,22,24,25,26,27,28,29,3,31,32,33,34,35,36,37,38,46,41,42,43,45,53,48,50,51,1],hbox:46,mit:46,singl:[0,14,15,28,49,16,46,48,5,20,32,23,1,7,53],declaremathoper:46,mathjax_preview:[27,53,5,43,22,51],x22d6:46,unless:[20,15,28,50],who:[19,29,4],eight:50,leftthreetim:46,"class":[38,46,32,15,28,29,16,17,5,39,22,45,10,24,51,33],underset:46,placement:15,url:[0,14,35,15,3,47,40,20,7],gather:46,request:[0,15,29,46,30,19,31,50,7,1],face:[35,4,6,25,42,26],inde:[3,26],movablelimit:15,nmid:46,determin:[7,42,2,30,46,11,22,37],starup:22,occasion:7,fact:[29,14,39],backsimeq:46,mathjax_messag:18,leftarrowtail:46,verbos:[44,31,22],perfom:49,perfor:50,bracevert:46,woth:41,curlyeqsucc:46,inlin:[5,20,14],locat:[0,27,35,6,30,48,5,20,22,7,19,43,37,24,51,33],jax:[30,40,9,14,15,16,19,25,22,24,26,3,37,33,10,7,38,39,11,32,42,44,45,53,48,50,51,52],vartriangleright:46,forev:3,should:[3,5,8,36,14,40,17,20,21,22,24,25,27,28,29,31,37,33,10,7,39,46,41,35,43,53,48,50,52,1],imagefont:[6,42],vartriangleleft:46,suppos:[31,14,48],"5px":12,triangleright:46,"5pt":20,local:[35,28,20,1,3,48,6,22,7],hope:[6,14],precsim:46,liminf:46,looparrowright:46,increas:[14,15],bigstar:46,leqslant:46,smash:46,enabl:[46,14,2,5,20,8,36,7],organ:51,frown:46,stuff:37,integr:2,contain:[0,2,3,5,6,12,37,40,16,17,18,19,20,39,22,45,27,28,29,31,35,7,46,32,42,43,53,48,51,1],typset:15,conform:20,coooki:12,frame:18,temporarili:18,troubl:20,issafari:37,asynchron:[0,32,28,29,44,17,1,19,31,49,37],statu:[0,35,31],error:[0,14,46,3,4,40,20,41,22,10,37,24,39],jmath:46,pattern:[5,22],gtrsim:46,state:1,quickest:20,theta:46,neither:[6,21],equiv:[46,50],omicron:46,nshortmid:46,kei:[12,0,28,29,17,19,22,37],entir:[37,7,48],closebox:6,ker:46,thumb:1,skipstartuptypeset:22,plugin:[2,47,22,8,23,50,51],admin:[36,8],nabla:46,equal:[1,37,38],gnapprox:46,etc:[46,1,7,22,48],eta:46,equat:[5,27,42,15,43,35,46,48,40,20,25,22,23,50,51,45],futher:50,eth:46,limiti:35,lmoustach:46,onchang:48,comment:[15,53,40,20,22,7],varnoth:46,arriv:[19,49],solv:[7,3],arguement:31,sqcup:46,quit:48,showfontmenu:47,"55em":46,quotat:53,bbb:46,sqsupseteq:46,treat:[46,20],immedi:[0,17,1,30,48,19,7],smallsetminu:46,both:[0,14,15,31,44,1,30,40,20,41,22,7,8,36,37,38],alignat:46,otf:[35,15],psi:46,togeth:[40,1,37,41,28],injlim:46,present:[29,41,4,6,22,7],twoheadrightarrow:46,multi:46,iscallback:28,displaylin:46,align:[46,41,22],contextu:[13,41,42,47,40,11,22,34,51,45],studentdisplai:48,defin:[46,14,42,34,20,30,53,3,7,47,40,6,25,22,31,11,1,37,38,39,26],glossari:[44,13],layer:[15,2],almost:46,curvearrowright:46,site:[14,35,2,40,20,22,23,36,7],archiv:[20,35],substanti:[14,7],revis:35,halt:49,curlywedg:46,displaystyl:[46,48],parti:19,cross:35,sqrt:[46,20,51],getx:38,extensiondir:39,oint:46,android:15,cssid:15,curlyve:46,phi:46,http:[14,35,2,3,47,48,46,20,33,8,50,36,7],lleftarrow:46,"8em":[46,25],effect:[17,1,3],mrow:[20,51,41],student:48,php:[2,8],trake:4,executehook:[29,28],off:[46,15,40,49,11,50,7],center:[46,22],well:[19,35,28,31,53,4,48,40,20,39,22,49,50,7],exampl:[0,3,4,46,6,7,9,11,12,14,15,17,19,20,21,22,24,25,26,27,28,29,31,32,33,34,35,10,37,38,5,41,42,43,45,53,47,48,49,50,51,52,1],command:[41,35,28,44,17,1,30,48,46,22,7,37],choos:[46,20,50],undefin:[46,20,28,31],setx:38,sibl:15,usual:[28,31,1,46,6,39,22,51,7],curlyeqprec:46,paus:35,less:[46,35,5,20,51,37],natiov:11,obtain:[14,35,48,40,20,22,51,7,24],mistaken:51,mathclos:46,mathoutput:48,simultan:[1,30],web:[13,14,42,15,2,20,30,46,3,49,48,19,6,33,45,23,35,51,7,29,1],current_them:2,smith:31,textbf:46,cdotp:46,atopwithdelim:46,valid:[31,14,50],match:[5,29,42],webpag:33,piec:15,varpropto:46,punctuat:15,know:[29,31,3,19,20,10,7,24,51],cfrac:46,mathinn:46,recurs:[37,15],mho:46,nofont:6,like:[3,46,15,17,18,19,20,23,26,28,29,31,33,10,7,5,41,35,44,53,48,49,50,51,1],lost:31,messagehook:[19,29,37],necessari:[23,20,37,45,7],page:[2,30,5,6,7,8,12,13,14,15,40,16,18,19,20,11,22,23,45,27,29,3,31,33,35,36,37,46,41,42,43,1,47,48,49,50,51],captur:44,settext:12,linux:37,bigve:46,"export":45,superclass:38,proper:[29,37],guarante:[0,1,48,17],librari:[16,1,32,35],glyph:[46,44],kern:46,assum:48,avoid:[41,15,46,21,22,51],tooltip:42,leav:[12,25,52,48],doublecap:46,preload:[0,20],twoheadleftarrow:46,daleth:46,upharpoonright:46,journal:44,usag:13,host:7,sphericalangl:46,although:[16,29,35,52],offset:42,panel:46,varepsilon:46,about:[19,14,42,15,28,20,46,7,4,48,40,6,11,22,31,49,35,51,37,29],ams_html:[46,14,48,40,33,7],rare:1,column:25,mathajx:14,mod_head:35,mapsto:46,constructor:38,fals:[5,42,15,29,46,3,47,40,11,22,9,37,38,26],bigoplu:46,eqalign:46,own:[14,35,15,20,16,1,4,46,6,49,50,10,7,24,51,26],amsmath:[46,14,1,40,20,25,7],circledr:46,reprocessor:41,maxbuff:25,bigtriangledown:46,guard:22,vphantom:46,circlearrowleft:46,dcocument:37,transfer:[20,35],support:[13,14,42,15,20,30,46,3,4,32,40,6,41,23,50,51,7,52,11],much:[19,50,7,44,49],bigcap:46,arg1:31,"var":[12,28,1,3,48,19,31,38],stai:7,arg2:31,deliveri:[20,15],propto:46,unexpect:[11,22],precnapprox:46,studentansw:48,bodi:[0,14,48,20,10,7,24],gain:[50,47],lgroup:46,bug:[12,14,35,15,4,18,20,22,51,7],count:3,made:[1,4,49,51,45,26],bbbk:46,whether:[46,27,42,43,3,47,48,5,31,11,22,7,9,37,52],wish:[14,31,53,3,4,46,20,50,37],displai:[46,6,12,13,15,18,19,20,25,22,23,45,27,33,34,7,5,41,35,24,47,48,51],substack:46,underleftrightarrow:46,mathord:46,gtrapprox:46,below:[2,46,6,9,11,12,37,20,21,22,45,25,27,43,34,35,10,7,5,42,24,47,49,50,51,52],sideset:46,"_htmlormml":50,problem:[14,35,15,31,3,4,46,20,50,51,7],x03c0:51,"int":[12,46,31],dure:[15,28,19,39,37,45],implement:[12,0,41,16,46,40,31,39,19,50,51,38],nolimit:46,inf:46,rightleftharpoon:46,probabl:[19,31,7,2],oplu:46,helpurl:47,immateri:1,percent:[11,42],detail:[0,5,6,7,8,13,14,15,40,17,19,20,11,22,27,28,29,43,33,34,35,36,37,46,41,42,1,47,48,49,50,51],lesseqgtr:46,other:[0,2,30,5,14,15,40,17,18,19,20,39,22,23,45,28,29,31,37,33,35,7,38,46,41,42,44,1,11,48,49,50,51,52],futur:[0,4,18,19,49,50,45],branch:[7,35],varieti:51,downlaod:[23,35,15],removeaft:6,mehtod:39,repeat:[35,2],star:46,thicksim:46,msgroup:41,matrix:46,sphinx:2,scientif:44,reliabl:[50,14,3,7],rule:[46,6,9,1,22],mathjax_mathml:3,portion:48,eot:35},objtypes:{"0":"py:method"},titles:["The MathJax.Ajax Object","Using Queues","Using MathJax in popular web platforms","Loading MathJax Dynamically","The MathJax Community","The tex2jax Preprocessor","The FontWarnings extension","Loading and Configuring MathJax","Installing MathJax in WordPress","The MathML input processor","The MathJax.InputJax Class","The NativeMML output processor","The MathJax.HTML Object","MathJax Documentation","Migrating from MathJax v1.0 to v1.1","What’s New in MathJax v1.1","The MathJax API","The MathJax.Callback.Queue Class","The MathJax.Message Object","Using Signals","Getting Started","Describing HTML snippets","The Core Configuration Options","What is MathJax?","The MathJax.OutputJax Class","The TeX input processor","Configuration Objects","The jsMath2jax Preprocessor","The MathJax.Callback Class","The MathJax.Callback.Signal Class","The MathJax Startup Sequence","Using Callbacks","The MathJax variable","Converting to MathJax from jsMath","The MathZoom extension","Installing and Testing MathJax","Using MathJax in Movable Type","The MathJax.Hub Object","The MathJax Object-Oriented Programming Model","The Base Jax Class","Common Configurations","MathJax MathML Support","The HTML-CSS output processor","The mml2jax Preprocessor","Glossary","The MathJax.ElementJax Class","MathJax TeX and LaTeX Support","The MathMenu extension","Modifying Math on the Page","Synchronizing your code with MathJax","MathJax Output Formats","The MathJax Processing Model","The MMLorHTML configuration options","CSS Style Objects"],objnames:{"0":"Python method"},filenames:["api/ajax","queues","platforms/index","dynamic","community","options/tex2jax","options/FontWarnings","configuration","platforms/wordpress","options/MathML","api/inputjax","options/NativeMML","api/html","index","upgrade","whats-new","api/index","api/queue","api/message","signals","start","HTML-snippets","options/hub","mathjax","api/outputjax","options/TeX","options/index","options/jsMath2jax","api/callback","api/signal","startup","callbacks","api/variable","jsMath","options/MathZoom","installation","platforms/movable-type","api/hub","api/object","api/jax","config-files","mathml","options/HTML-CSS","options/mml2jax","glossary","api/elementjax","tex","options/MathMenu","typeset","synchronize","output","model","options/MMLorHTML","CSS-styles"]})
+\ No newline at end of file
diff --git a/docs/html/signals.html b/docs/html/signals.html
@@ -21,12 +21,14 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="up" title="Synchronizing your code with MathJax" href="synchronize.html" />
<link rel="next" title="Loading MathJax Dynamically" href="dynamic.html" />
<link rel="prev" title="Using Queues" href="queues.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -211,11 +213,6 @@ structure and methods of the signal object.</p>
<h4>Next topic</h4>
<p class="topless"><a href="dynamic.html"
title="next chapter">Loading MathJax Dynamically</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/signals.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -250,8 +247,9 @@ structure and methods of the signal object.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/start.html b/docs/html/start.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="Installing and Testing MathJax" href="installation.html" />
<link rel="prev" title="What is MathJax?" href="mathjax.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -50,8 +52,50 @@
<div class="section" id="getting-started">
<span id="id1"></span><h1>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h1>
<p>MathJax allows you to include mathematics in your web pages, either
-using TeX and LaTeX notation, or as MathML. To use MathJax, you will
-need to do the following things:</p>
+using TeX and LaTeX notation, or as MathML, and you can even use both
+in the same document.</p>
+<p>There are two ways to access MathJax: the easiest way is to use the
+copy of MathJax available from our distributed network service at
+<tt class="docutils literal"><span class="pre">cdn.mathjax.org</span></tt>, but you can also download and install a copy of
+MathJax on your own server, or for use locally on your own hard disk
+(with no need for network access). Both of these are described below,
+with links to more detailed explanations. This page gives the
+quickest and easiest ways to get MathJax up and running on your web
+site, but you may want to read the details in order to customize the
+setup for your pages.</p>
+<div class="section" id="using-the-mathjax-content-delivery-network-cdn">
+<span id="mathjax-cdn"></span><h2>Using the MathJax Content Delivery Network (CDN)<a class="headerlink" href="#using-the-mathjax-content-delivery-network-cdn" title="Permalink to this headline">¶</a></h2>
+<p>To use MathJax from our server, you need to do two things:</p>
+<ol class="arabic simple">
+<li>Link MathJax into the web pages that are to include mathematics.</li>
+<li>Put mathematics into your web pages so that MathJax can display
+it.</li>
+</ol>
+<p>You accomplish the first step by putting</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>into the <tt class="docutils literal"><span class="pre"><head></span></tt> block of your document. (It can also go in the
+<tt class="docutils literal"><span class="pre"><body></span></tt> if necessary, but the head is to be preferred.) This will
+load the latest version of MathJax from the distributed server, and
+configure it to recognize mathematics in both TeX and MathML notation,
+and ask it to generate its output using MathML if the browser supports
+that, and otherwise use HTML-with-CSS to display the mathematics.
+This is the most general configuration, and should suffice for most
+people’s needs. Other configurations are available, however, and you
+can also provide additional configuration parameters to taylor one of
+the confiogurations to your needs. More details can be found in the
+<a class="reference internal" href="configuration.html#loading"><em>Loading and Configuring MathJax</em></a> instructions.</p>
+<p>The use of <tt class="docutils literal"><span class="pre">cdn.mathjax.org</span></tt> is governed by its <a class="reference external" href="http://www.mathjax.org/download/mathjax-cdn-terms-of-service/">terms of service</a>, so be
+sure to read that before linked to the MathJax CDN server.</p>
+<p>To see how to enter mathematics in your web pages, see <a class="reference internal" href="#putting-mathematics-in-a-web-page">Putting
+mathematics in a web page</a> below.</p>
+</div>
+<div class="section" id="installing-your-own-copy-of-mathjax">
+<h2>Installing Your Own Copy of MathJax<a class="headerlink" href="#installing-your-own-copy-of-mathjax" title="Permalink to this headline">¶</a></h2>
+<p>We recommend using the CDN service if you can, but you can also install
+MathJax on your own server, or locally on your own hard disk. To do
+so you will need to do the following things:</p>
<ol class="arabic simple">
<li>Obtain a copy of MathJax and make it available on your server.</li>
<li>Configure MathJax to suit the needs of your site.</li>
@@ -59,20 +103,16 @@ need to do the following things:</p>
<li>Put mathematics into your web pages so that MathJax can display
it.</li>
</ol>
-<p>Each of these steps is described briefly below, with links to more
-detailed explanations. This page gives the quickest and easiest ways
-to get MathJax up and running on your web site, but you may want to
-read the details in order to customize the setup for your pages.</p>
<div class="section" id="obtaining-and-installing-mathjax">
-<h2>Obtaining and Installing MathJax<a class="headerlink" href="#obtaining-and-installing-mathjax" title="Permalink to this headline">¶</a></h2>
+<h3>Obtaining and Installing MathJax<a class="headerlink" href="#obtaining-and-installing-mathjax" title="Permalink to this headline">¶</a></h3>
<p>The easiest way to set up MathJax is to obtain the v1.1 archive from
the <a class="reference external" href="http://www.mathjax.org/download/">MathJax download page</a> (you
-should obtain a file names something like
-<tt class="docutils literal"><span class="pre">mathjax-MathJax-v1.0-X-XXXXXXXX.zip</span></tt>, where the X’s are
+should obtain a file named something like
+<tt class="docutils literal"><span class="pre">mathjax-MathJax-v1.1-X-XXXXXXXX.zip</span></tt>, where the X’s are
random-looking letters and numbers). This archive includes both the
MathJax code and the MathJax webfonts, so it is the only file you
-need. (This is different from the beta releases, which had the fonts
-separate from the rest of the code).</p>
+need. Note that this is different from earlier releases, which had
+the fonts separate from the rest of the code.</p>
<p>Unpack the archive and place the resulting MathJax folder onto your
web server at a convenient location where you can include it into your
web pages. For example, making <tt class="docutils literal"><span class="pre">MathJax</span></tt> a top-level directory on
@@ -81,60 +121,61 @@ refer to the main MathJax file via the URL <tt class="docutils literal"><span cl
from within any page on your server.</p>
<p>Note: While this is the easiest way to set up MathJax initially, there
is a better way to do it if you want to be able to keep your copy of
-MathJax up-to-date easily. That uses the <a class="reference external" href="http://git-scm.com/">Git</a>
-version control system, and is described in the <a class="reference internal" href="installation.html#getting-mathjax-git"><em>Installing
-MathJax</em></a> document. If you prefer using
-<a class="reference external" href="http://subversion.apache.org/">Subversion</a>, you can also use that
-to get a copy of MathJax (see <a class="reference internal" href="installation.html#getting-mathjax-svn"><em>Installing MathJax via SVN</em></a>).</p>
+MathJax up-to-date. That uses the <a class="reference external" href="http://git-scm.com/">Git</a> version
+control system, and is described in the <a class="reference internal" href="installation.html#getting-mathjax-git"><em>Installing MathJax</em></a> document. If you prefer using <a class="reference external" href="http://subversion.apache.org/">Subversion</a>, you can also use that to get a copy
+of MathJax (see <a class="reference internal" href="installation.html#getting-mathjax-svn"><em>Installing MathJax via SVN</em></a>).</p>
<p>Once you have MathJax set up on your server, you can test it using the
files in the <tt class="docutils literal"><span class="pre">MathJax/test</span></tt> directory. Load them in your browser
using its web address rather than opening them locally (i.e., use an
<tt class="docutils literal"><span class="pre">http://</span></tt> URL rather than a <tt class="docutils literal"><span class="pre">file://</span></tt> URL). When you view the
-<tt class="docutils literal"><span class="pre">index.html</span></tt> file, after a few moments you should see a message that
-MathJax appears to be working. If not, check that the files have been
-transferred to the server completely and that the permissions allow
-the server to access the files and folders that are part of the
-MathJax directory. (Be sure to verify the MathJax folder’s permissions
-as well.) Check the server log files for any errors that pertain to
-the MathJax installation; this may help locate problems in the
-permission or locations of files.</p>
+<tt class="docutils literal"><span class="pre">index.html</span></tt> file, after a few moments you should see a message
+indicating that MathJax appears to be working. If not, check that the
+files have been transferred to the server completely and that the
+permissions allow the server to access the files and folders that are
+part of the MathJax directory. (Be sure to verify the MathJax
+folder’s permissions as well.) Check the server log files for any
+errors that pertain to the MathJax installation; this may help locate
+problems in the permission or locations of files.</p>
</div>
-<div class="section" id="configuring-mathjax">
-<h2>Configuring MathJax<a class="headerlink" href="#configuring-mathjax" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="configuring-your-copy-of-mathjax">
+<h3>Configuring your copy of MathJax<a class="headerlink" href="#configuring-your-copy-of-mathjax" title="Permalink to this headline">¶</a></h3>
<p>When you include MathJax into your web pages as described below, it
-will load the file <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> (i.e., the file named
-<tt class="docutils literal"><span class="pre">MathJax.js</span></tt> in the <tt class="docutils literal"><span class="pre">config</span></tt> folder of the main <tt class="docutils literal"><span class="pre">MathJax</span></tt>
-folder). This file contains the configuration parameters that
-control how MathJax operates. There are comments in it that
-explain each of the parameters, and you can edit the file to suit
-your needs.</p>
-<p>The default settings are appropriate for pages that use TeX as the
-input language, but you might still want to adjust some settings; for
-example, you might want to include some additional extensions such as
-the <tt class="docutils literal"><span class="pre">AMSmath</span></tt> and <tt class="docutils literal"><span class="pre">AMSsymbols</span></tt> extensions. The comments in the
-file should help you do this, but more detailed instructions are
-included in the <a class="reference internal" href="configuration.html#configuration"><em>Configuring MathJax</em></a> document.
-There are also ways to configure MathJax other than by using the
-<tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file; these are descibed on that page as well.</p>
+will load the file <tt class="docutils literal"><span class="pre">config/TeX-AMS-MML_HTMLorMML.js</span></tt> (i.e., the file
+named <tt class="docutils literal"><span class="pre">TeX-AMS-MML_HTMLorMML.js</span></tt> in the <tt class="docutils literal"><span class="pre">config</span></tt> folder of the
+main <tt class="docutils literal"><span class="pre">MathJax</span></tt> folder). This file preloads all the most comply-used
+components of MathJax, allowing it to process mathematics that is in
+the TeX or LaTeX format, or in MathML notation. It will produce
+output in MathML form if the user’s browser supports that, and will use
+HTML-with-CSS to render the mathematics otherwise.</p>
+<p>There are a number of other prebuilt configuration files that you can
+choose from as well, or you could use the <tt class="docutils literal"><span class="pre">config/default.js</span></tt> file and
+customize the settings yourself. The combined configuration files are
+described more fully in <a class="reference internal" href="config-files.html#common-configurations"><em>Common Configurations</em></a>, and the configuration options are described in
+<a class="reference internal" href="options/index.html#configuration"><em>Configuration Options</em></a>.</p>
+<p>Note: The configuration process has changed in MathJax v1.1, so if you have
+existing pages that use MathJax, you may need to modify the tag that
+loads MathJax so that is conforms with the new configuration process.
+See <a class="reference internal" href="installation.html#installation"><em>Installing and Configuring MathJax</em></a> for more
+details.</p>
</div>
-<div class="section" id="linking-mathjax-into-a-web-page">
-<h2>Linking MathJax into a web page<a class="headerlink" href="#linking-mathjax-into-a-web-page" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="linking-your-copy-of-mathjax-into-a-web-page">
+<h3>Linking your copy of MathJax into a web page<a class="headerlink" href="#linking-your-copy-of-mathjax-into-a-web-page" title="Permalink to this headline">¶</a></h3>
<p>You can include MathJax in your web page by putting</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js"</span><span class="nt">></script></span>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"path-to-MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></script></span>
</pre></div>
</div>
<p>in your document’s <tt class="docutils literal"><span class="pre"><head></span></tt> block. Here, <tt class="docutils literal"><span class="pre">path-to-MathJax</span></tt> should
be replaced by the URL for the main MathJax directory, so if you have
put the <tt class="docutils literal"><span class="pre">MathJax</span></tt> directory at the top level of you server’s web
site, you could use</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></script></span>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></script></span>
</pre></div>
</div>
<p>to load MathJax in your page. For example, your page could look like</p>
<div class="highlight-html"><div class="highlight"><pre><span class="nt"><html></span>
<span class="nt"><head></span>
...
- <span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></script></span>
+ <span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></script></span>
<span class="nt"></head></span>
<span class="nt"><body></span>
...
@@ -142,37 +183,36 @@ site, you could use</p>
<span class="nt"></html></span>
</pre></div>
</div>
-<p>Although it is possible to load MathJax from a site other than your
-own web server, there are issues involved in doing so that you need to
-take into consideration. See the <a class="reference internal" href="installation.html#cross-domain-linking"><em>Notes About Shared Servers</em></a> for more details. Please do <strong>not</strong> link to
-the copy of MathJax at <tt class="docutils literal"><span class="pre">www.mathjax.org</span></tt>, as we do not have the
-resources to act as a web service for all the sites on the web that
-would like to display mathematics. If you are able to run MathJax
-from your own server, please do so (this will probably give you better
-response time in any case).</p>
+<p>If you have installed MathJax on a server that is in a different
+domain from the one serving the page that loads MathJax, be sure to
+read the <a class="reference internal" href="installation.html#cross-domain-linking"><em>Notes About Shared Servers</em></a> for
+more details. In that case, you may wish to consider using the
+<a class="reference internal" href="#mathjax-cdn"><em>MathJax CDN</em></a> rather than installing your own copy
+of MathJax.</p>
+</div>
</div>
<div class="section" id="putting-mathematics-in-a-web-page">
<h2>Putting mathematics in a web page<a class="headerlink" href="#putting-mathematics-in-a-web-page" title="Permalink to this headline">¶</a></h2>
-<p>To put mathematics in your web page, you can use either TeX and LaTeX
-notation, or MathML notation (or both); the configuration file tells
-MathJax which you want to use, and how you plan to indicate the
-mathematics when you are using TeX notation. The following sections
-tell you how to use each of these formats.</p>
+<p>To put mathematics in your web page, you can use either <a class="reference internal" href="glossary.html#term-tex"><em class="xref std std-term">TeX</em></a>
+and <a class="reference internal" href="glossary.html#term-latex"><em class="xref std std-term">LaTeX</em></a> notation or <a class="reference internal" href="glossary.html#term-mathml"><em class="xref std std-term">MathML</em></a> notation or both within
+the same page; the MathJax configuration tells MathJax which you want
+to use, and how you plan to indicate the mathematics when you are
+using TeX notation. The configuration file used in the examples above
+tells MathJax to look for both TeX and MathML notation within your
+pages. These two formats are described in more detail below.</p>
<div class="section" id="tex-and-latex-input">
<span id="id2"></span><h3>TeX and LaTeX input<a class="headerlink" href="#tex-and-latex-input" title="Permalink to this headline">¶</a></h3>
-<p>To process mathematics that is written in <a class="reference internal" href="glossary.html#term-tex"><em class="xref std std-term">TeX</em></a> or <a class="reference internal" href="glossary.html#term-latex"><em class="xref std std-term">LaTeX</em></a>
-format, include <tt class="docutils literal"><span class="pre">"input/TeX"</span></tt> in your configuration’s <cite>jax</cite> array,
-and add <tt class="docutils literal"><span class="pre">"tex2jax.js"</span></tt> to the <cite>extensions</cite> array so that MathJax
-will look for TeX-style math delimiters to identify the mathematics on
-the page.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2math.js"</span><span class="p">],</span>
-<span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span> <span class="s2">"output/HTML-CSS"</span><span class="p">]</span>
-</pre></div>
-</div>
-<p>Note that the default math delimiters are <tt class="docutils literal"><span class="pre">$$...$$</span></tt> and <tt class="docutils literal"><span class="pre">\[...\]</span></tt>
-for displayed mathematics, and <tt class="docutils literal"><span class="pre">\(...\)</span></tt> for in-line mathematics.
-In particular, the <tt class="docutils literal"><span class="pre">$...$</span></tt> in-line delimiters are <strong>not</strong> used by
-default. That is because dollar signs appear too often in
+<p>Mathematics that is written in <a class="reference internal" href="glossary.html#term-tex"><em class="xref std std-term">TeX</em></a> or <a class="reference internal" href="glossary.html#term-latex"><em class="xref std std-term">LaTeX</em></a> format is
+indicated using <em>math delimiters</em> that surround the mathematics,
+telling MathJax what part of your page represents mathematics and what
+is normal text. There are two types of equations: ones that occur
+within a paragraph (in-line mathematics), and larger equations that
+appear separated from the rest of the text on lines by themselves
+(displayed mathematics).</p>
+<p>The default math delimiters are <tt class="docutils literal"><span class="pre">$$...$$</span></tt> and <tt class="docutils literal"><span class="pre">\[...\]</span></tt> for
+displayed mathematics, and <tt class="docutils literal"><span class="pre">\(...\)</span></tt> for in-line mathematics. Note
+in particular that the <tt class="docutils literal"><span class="pre">$...$</span></tt> in-line delimiters are <strong>not</strong> used
+by default. That is because dollar signs appear too often in
non-mathematical settings, which could cause some text to be treated
as mathematics unexpectedly. For example, with single-dollar
delimiters, ”... the cost is $2.50 for the first one, and $2.00 for
@@ -180,72 +220,81 @@ each additional one ...” would cause the phrase “2.50 for the first
one, and” to be treated as mathematics since it falls between dollar
signs. For this reason, if you want to use single-dollars for in-line
math mode, you must enable that explicitly in your configuration:</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span><span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'\\('</span><span class="p">,</span><span class="s1">'\\)'</span><span class="p">]]}</span>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+<span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span><span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'\\('</span><span class="p">,</span><span class="s1">'\\)'</span><span class="p">]]}</span>
+<span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascipt"</span> <span class="na">src=</span><span class="s">"path-to-mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></script></span>
</pre></div>
</div>
-<p>See the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file, or the <a class="reference internal" href="options/tex2jax.html#configure-tex2jax"><em>tex2jax configuration
+<p>See the <tt class="docutils literal"><span class="pre">config/default.js</span></tt> file, or the <a class="reference internal" href="options/tex2jax.html#configure-tex2jax"><em>tex2jax configuration
options</em></a> page, for additional configuration
-parameters that you can specify for the <tt class="docutils literal"><span class="pre">tex2jax</span></tt> preprocessor.</p>
-<p>Here is a complete sample page containing TeX mathematics (which
-assumes that <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> is configured as described above):</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><html></span>
+parameters that you can specify for the <cite>tex2jax</cite> preprocessor,
+which is the component of MathJax that identifies TeX notation within
+the page). See the <a class="reference internal" href="tex.html#tex-support"><em>TeX and LaTeX</em></a> page for
+more on MathJax’s support for TeX.</p>
+<p>Here is a complete sample page containing TeX mathematics (also available
+in the <tt class="docutils literal"><span class="pre">test/sample-tex.html</span></tt> file):</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="cp"><!DOCTYPE html></span>
+<span class="nt"><html></span>
<span class="nt"><head></span>
<span class="nt"><title></span>MathJax TeX Test Page<span class="nt"></title></span>
-<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span><span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span><span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'\\('</span><span class="p">,</span><span class="s1">'\\)'</span><span class="p">]]}});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></span>
+<span class="nt"></script></span>
<span class="nt"></head></span>
<span class="nt"><body></span>
-When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
+When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
<span class="nt"></body></span>
<span class="nt"></html></span>
</pre></div>
</div>
-<p>There are a number of extensions for the TeX input processor that you
-might want to add to the <cite>extensions</cite> array. These include:</p>
+<p>Since the TeX notation is part of the text of the page, there are some
+caveats that you must keep in mind when you enter your mathematics.
+In particular, you need to be careful about the use of less-than
+signs, since those are what the browser uses to indicate the start of
+a tag in HTML. Putting a space on both sides of the less-than sign
+should be sufficient, but see <a class="reference internal" href="tex.html#tex-support"><em>TeX and LaTeX support</em></a> for details.</p>
+<p>There are a number of extensions for the TeX input processor that are
+loaded by the <tt class="docutils literal"><span class="pre">TeX-AMS-MML_HTMLorMML</span></tt> configuration. These include:</p>
<ul class="simple">
<li><cite>TeX/AMSmath.js</cite>, which defines the AMS math environments and
macros,</li>
<li><cite>TeX/AMSsymbols.js</cite>, which defines the macros for the symbols in
-the msam10 and msbm10 fonts,</li>
+the <cite>msam10</cite> and <cite>msbm10</cite> fonts,</li>
<li><cite>TeX/noErrors.js</cite>, which shows the original TeX code rather than
an error message when there is a problem processing the TeX, and</li>
<li><cite>TeX/noUndefined.js</cite>, which prevents undefined macros from
producing an error message, and instead shows the macro name in red.</li>
</ul>
-<p>For example,</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2math.js"</span><span class="p">,</span><span class="s2">"TeX/noErrors.js"</span><span class="p">,</span><span class="s2">"TeX/noUndefined.js"</span><span class="p">,</span>
- <span class="s2">"TeX/AMSmath.js"</span><span class="p">,</span><span class="s2">"TeX/AMSsymbols.js"</span><span class="p">]</span>
-</pre></div>
-</div>
-<p>loads all four extensions, in addition to the <tt class="docutils literal"><span class="pre">tex2math</span></tt>
-preprocessor.</p>
+<p>Other extensions may be loaded automatically when needed.</p>
</div>
<div class="section" id="mathml-input">
<h3>MathML input<a class="headerlink" href="#mathml-input" title="Permalink to this headline">¶</a></h3>
-<p>To process mathematics written in <a class="reference internal" href="glossary.html#term-mathml"><em class="xref std std-term">MathML</em></a>, include
-<tt class="docutils literal"><span class="pre">"input/MathML"</span></tt> in your configuration’s <cite>jax</cite> array, and add
-<tt class="docutils literal"><span class="pre">"mml2jax.js"</span></tt> to the <cite>extensions</cite> array so that MathJax will
-locate the <tt class="docutils literal"><span class="pre"><math></span></tt> elements in the page automatically.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"mml2jax.js"</span><span class="p">],</span>
-<span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/MathML"</span><span class="p">,</span> <span class="s2">"output/HTML-CSS"</span><span class="p">]</span>
-</pre></div>
-</div>
-<p>With this configuration, you would mark your mathematics using
-standard <tt class="docutils literal"><span class="pre"><math></span></tt> tags, where <tt class="docutils literal"><span class="pre"><math</span> <span class="pre">display="block"></span></tt> represents
-displayed mathematics and <tt class="docutils literal"><span class="pre"><math</span> <span class="pre">display="inline"></span></tt> or just
-<tt class="docutils literal"><span class="pre"><math></span></tt> represents in-line mathematics.</p>
+<p>For mathematics written in <a class="reference internal" href="glossary.html#term-mathml"><em class="xref std std-term">MathML</em></a> notation, you mark your
+mathematics using standard <tt class="docutils literal"><span class="pre"><math></span></tt> tags, where <tt class="docutils literal"><span class="pre"><math</span>
+<span class="pre">display="block"></span></tt> represents displayed mathematics and <tt class="docutils literal"><span class="pre"><math</span>
+<span class="pre">display="inline"></span></tt> or just <tt class="docutils literal"><span class="pre"><math></span></tt> represents in-line mathematics.</p>
<p>Note that this will work in HTML files, not just XHTML files (MathJax
works with both), and that the web page need not be served with any
special MIME-type. Also note that, unless you are using XHTML rather
than HTML, you should not include a namespace prefix for your
<tt class="docutils literal"><span class="pre"><math></span></tt> tags; for example, you should not use <tt class="docutils literal"><span class="pre"><m:math></span></tt> except
in a file where you have tied the <tt class="docutils literal"><span class="pre">m</span></tt> namespace to the MathML DTD.</p>
-<p>Here is a complete sample page containing MathML mathematics (which
-assumes that <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> is configured as described above):</p>
-<div class="highlight-html"><div class="highlight"><pre><span class="nt"><html></span>
+<p>Here is a complete sample page containing MathML mathematics (also
+available in the <tt class="docutils literal"><span class="pre">test/sample-mml.html</span></tt> file):</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="cp"><!DOCTYPE html></span>
+<span class="nt"><html></span>
<span class="nt"><head></span>
<span class="nt"><title></span>MathJax MathML Test Page<span class="nt"></title></span>
-<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></span>
+<span class="nt"></script></span>
<span class="nt"></head></span>
<span class="nt"><body></span>
@@ -279,8 +328,22 @@ there are two solutions to <span class="nt"><math></span>
<span class="nt"></html></span>
</pre></div>
</div>
-<p>The <tt class="docutils literal"><span class="pre">mml2jax</span></tt> has only a few configuration options; see the
-<tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file or the <a class="reference internal" href="options/mml2jax.html#configure-mml2jax"><em>mml2jax configuration options</em></a> page for more details.</p>
+<p>When entering MathML notation in an HTML page (rather than an XHTML
+page), you should <strong>not</strong> use self-closing tags, but should use explicit
+open and close tags for all your math elements. For example, you
+should use</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><mspace</span> <span class="na">width=</span><span class="s">"thinmathspace"</span><span class="nt">></mspace></span>
+</pre></div>
+</div>
+<p>rather than <tt class="docutils literal"><span class="pre"><mspace</span> <span class="pre">width="5pt"</span> <span class="pre">/></span></tt> in an HTML document. If you use the
+self-closing form, some browsers will not build the math tree properly, and
+MathJax will receive a damaged math structure, which will not be rendered
+as the original notation would have been. Unfortunately, there is nothing
+MathJax can do about that, since the browser has incorrectly interpreted
+the tags long before MathJax has a chance to work with them.</p>
+<p>The component of MathJax that recognizes MathML notation is called the
+<cite>mml2jax</cite> extension, and it has only a few configuration options; see the
+<tt class="docutils literal"><span class="pre">config/default.js</span></tt> file or the <a class="reference internal" href="options/mml2jax.html#configure-mml2jax"><em>mml2jax configuration options</em></a> page for more details. See the <a class="reference internal" href="mathml.html#mathml-support"><em>MathML</em></a> page for more on MathJax’s MathML support.</p>
</div>
</div>
<div class="section" id="where-to-go-from-here">
@@ -289,7 +352,7 @@ there are two solutions to <span class="nt"><math></span>
MathJax installed and configured on your web server, and you should be
able to use it to write web pages that include mathematics. At this
point, you can start making pages that contain mathematical content!</p>
-<p>You could also read more about the details of how to <a class="reference internal" href="configuration.html#configuration"><em>customize
+<p>You could also read more about the details of how to <a class="reference internal" href="configuration.html#loading"><em>customize
MathJax</em></a>.</p>
<p>If you are trying to use MathJax in blog or wiki software or in some
other content-management system, you might want to read about <a class="reference internal" href="platforms/index.html#platforms"><em>using
@@ -315,9 +378,13 @@ MathJax, you could visit the <a class="reference internal" href="community.html#
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Getting Started</a><ul>
+<li><a class="reference internal" href="#using-the-mathjax-content-delivery-network-cdn">Using the MathJax Content Delivery Network (CDN)</a></li>
+<li><a class="reference internal" href="#installing-your-own-copy-of-mathjax">Installing Your Own Copy of MathJax</a><ul>
<li><a class="reference internal" href="#obtaining-and-installing-mathjax">Obtaining and Installing MathJax</a></li>
-<li><a class="reference internal" href="#configuring-mathjax">Configuring MathJax</a></li>
-<li><a class="reference internal" href="#linking-mathjax-into-a-web-page">Linking MathJax into a web page</a></li>
+<li><a class="reference internal" href="#configuring-your-copy-of-mathjax">Configuring your copy of MathJax</a></li>
+<li><a class="reference internal" href="#linking-your-copy-of-mathjax-into-a-web-page">Linking your copy of MathJax into a web page</a></li>
+</ul>
+</li>
<li><a class="reference internal" href="#putting-mathematics-in-a-web-page">Putting mathematics in a web page</a><ul>
<li><a class="reference internal" href="#tex-and-latex-input">TeX and LaTeX input</a></li>
<li><a class="reference internal" href="#mathml-input">MathML input</a></li>
@@ -334,11 +401,6 @@ MathJax, you could visit the <a class="reference internal" href="community.html#
<h4>Next topic</h4>
<p class="topless"><a href="installation.html"
title="next chapter">Installing and Testing MathJax</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/start.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -372,8 +434,9 @@ MathJax, you could visit the <a class="reference internal" href="community.html#
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/startup.html b/docs/html/startup.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="Synchronizing your code with MathJax" href="synchronize.html" />
<link rel="prev" title="The MathJax Processing Model" href="model.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -101,11 +103,10 @@ pushed into the queue:</p>
<ol class="arabic simple" start="2">
<li>Perform the configuration actions:<ul>
<li>Post the <tt class="docutils literal"><span class="pre">Begin</span> <span class="pre">Config</span></tt> startup signal</li>
-<li>Execute the content of the <tt class="docutils literal"><span class="pre"><script></span></tt> that loaded MathJax,
-or load the <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file if the <tt class="docutils literal"><span class="pre"><script></span></tt>
-is empty</li>
-<li>If the <tt class="docutils literal"><span class="pre">MathJax.Hub.config.delayStartupUntil</span></tt> value is set,
-wait until its condition is met</li>
+<li>Load any configuration files specified via <tt class="docutils literal"><span class="pre">config=</span></tt> as a script parameter</li>
+<li>Execute the content of the <tt class="docutils literal"><span class="pre"><script></span></tt> that loaded MathJax, if it is not empty</li>
+<li>Wait for the <tt class="docutils literal"><span class="pre">delayStartupUntil</span></tt> condition to be met, if one was specified</li>
+<li>Execute any <tt class="docutils literal"><span class="pre">text/x-mathjax-config</span></tt> script blocks</li>
<li>load the files listed in the <tt class="docutils literal"><span class="pre">MathJax.Hub.config.config</span></tt> array</li>
<li>Post the <tt class="docutils literal"><span class="pre">End</span> <span class="pre">Config</span></tt> startup signal</li>
</ul>
@@ -154,12 +155,16 @@ the name of the extension)</li>
</li>
</ol>
<ol class="arabic simple" start="7">
-<li>Wait for the onload handler to fire</li>
+<li>Set the MathJax menu’s renderer value based on the jax that have been
+loaded</li>
</ol>
<ol class="arabic simple" start="8">
-<li>Set <tt class="docutils literal"><span class="pre">MathJax.isReady</span></tt> to <tt class="docutils literal"><span class="pre">true</span></tt></li>
+<li>Wait for the onload handler to fire</li>
</ol>
<ol class="arabic simple" start="9">
+<li>Set <tt class="docutils literal"><span class="pre">MathJax.isReady</span></tt> to <tt class="docutils literal"><span class="pre">true</span></tt></li>
+</ol>
+<ol class="arabic simple" start="10">
<li>Perform the typesetting pass (preprocessors and processors)<ul>
<li>Post the <tt class="docutils literal"><span class="pre">Begin</span> <span class="pre">Typeset</span></tt> startup signal</li>
<li>Post the <tt class="docutils literal"><span class="pre">Begin</span> <span class="pre">PreProcess</span></tt> hub signal</li>
@@ -177,9 +182,18 @@ with the math element’s ID</li>
</ul>
</li>
</ol>
-<ol class="arabic simple" start="10">
+<ol class="arabic simple" start="11">
<li>Post the <tt class="docutils literal"><span class="pre">End</span></tt> startup signal</li>
</ol>
+<p>The loading of the jax and extensions in steps 5 and 6 are now done in
+parallel, rather than sequentially. That is, all the jax and extensions
+are requested simultaneously, so they load concurrently. That means they
+can load in any order, and that the begin and end signals for the jax and
+extensions can be intermixed. (In general, you will get <cite>Begin Jax</cite>
+followed by <cite>Begin Extensions</cite>, but the order of <cite>End Jax</cite> and <cite>End
+Extensions</cite> will depend on the file sbeing loaded.) Both 5 and 6 must
+complete, however, before 7 will be performed.</p>
+<p>See the <tt class="docutils literal"><span class="pre">test/sample-signals.html</span></tt> file to see the signals in action.</p>
</div>
@@ -194,11 +208,6 @@ with the math element’s ID</li>
<h4>Next topic</h4>
<p class="topless"><a href="synchronize.html"
title="next chapter">Synchronizing your code with MathJax</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/startup.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -232,8 +241,9 @@ with the math element’s ID</li>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/synchronize.html b/docs/html/synchronize.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="Using Callbacks" href="callbacks.html" />
<link rel="prev" title="The MathJax Startup Sequence" href="startup.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -79,20 +81,19 @@ synchronize with MathJax, but you can also create your own private
queues for actions that need to be synchronized with each other, but
not to MathJax as a whole. See the <a class="reference internal" href="api/queue.html#api-queue"><em>Queue Object</em></a>
reference page for more details.</p>
-<p><strong>Signals</strong> are another means of synchronizing your own code with
-MathJax. Many of the important actions that MathJax takes (like
-typesetting new math on the page, or loading an external component)
-are “announced” by posting a message to a special object called a
-<cite>Signal</cite>. Your code can register an interest in receiving one or more
-of these signals by providing a callback to be called when the signal
-is posted. When the signal arrives, MathJax will call your code.
-This works somewhat like an event handler, except that many different
-types of events can go through the same signal, and the signals have a
-“memory”, meaning that if you register an interest in a particular
-type of signal and that signal has already occurred, you will be told
-about the past occurrances as well as any future ones. See the
-<a class="reference internal" href="api/signal.html#api-signal"><em>Signal Object</em></a> reference page for more details.
-See also the <tt class="docutils literal"><span class="pre">test/sample-signals.html</span></tt> file in the MathJax <tt class="docutils literal"><span class="pre">test</span></tt>
+<p><strong>Signals</strong> are another means of synchronizing your own code with MathJax.
+Many of the important actions that MathJax takes (like typesetting new math
+on the page, or loading an external component) are “announced” by posting a
+message to a special object called a <cite>Signal</cite>. Your code can register an
+interest in receiving one or more of these signals by providing a callback
+to be called when the signal is posted. When the signal arrives, MathJax
+will call your code. This works somewhat like an event handler, except
+that many different types of events can go through the same signal, and the
+signals have a “memory”, meaning that if you register an interest in a
+particular type of signal and that signal has already occurred, you will be
+told about the past occurrances as well as any future ones. See the
+<a class="reference internal" href="api/signal.html#api-signal"><em>Signal Object</em></a> reference page for more details. See
+also the <tt class="docutils literal"><span class="pre">test/sample-signals.html</span></tt> file in the MathJax <tt class="docutils literal"><span class="pre">test</span></tt>
directory for a working example of using signals.</p>
<p>Each of these is explained in more detail in the links below:</p>
<div class="toctree-wrapper compound">
@@ -116,11 +117,6 @@ directory for a working example of using signals.</p>
<h4>Next topic</h4>
<p class="topless"><a href="callbacks.html"
title="next chapter">Using Callbacks</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/synchronize.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -154,8 +150,9 @@ directory for a working example of using signals.</p>
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/tex.html b/docs/html/tex.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="MathJax MathML Support" href="mathml.html" />
<link rel="prev" title="Using MathJax in Movable Type" href="platforms/movable-type.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -49,13 +51,13 @@
<div class="section" id="mathjax-tex-and-latex-support">
<span id="tex-support"></span><h1>MathJax TeX and LaTeX Support<a class="headerlink" href="#mathjax-tex-and-latex-support" title="Permalink to this headline">¶</a></h1>
-<p>The support for TeX and LaTeX in MathJax consists of two parts: the
-<cite>tex2jax</cite> preprocessor, and the TeX input processor. The first of
-these looks for mathematics within your web page (indicated by math
-delimiters like <tt class="docutils literal"><span class="pre">$$...$$</span></tt>) and marks the mathematics for later
-processing by MathJax. The TeX input processor is what converts the
-TeX notation into MathJax’s internal format, where one of MathJax’s
-output processors then displays it in the web page.</p>
+<p>The support for <a class="reference internal" href="glossary.html#term-tex"><em class="xref std std-term">TeX</em></a> and <a class="reference internal" href="glossary.html#term-latex"><em class="xref std std-term">LaTeX</em></a> in MathJax consists of two
+parts: the <cite>tex2jax</cite> preprocessor, and the <cite>TeX</cite> input processor. The
+first of these looks for mathematics within your web page (indicated by
+math delimiters like <tt class="docutils literal"><span class="pre">$$...$$</span></tt>) and marks the mathematics for later
+processing by MathJax. The TeX input processor is what converts the TeX
+notation into MathJax’s internal format, where one of MathJax’s output
+processors then displays it in the web page.</p>
<p>The <cite>tex2jax</cite> preprocessor can be configured to look for whatever
markers you want to use for your math delimiters. See the
<a class="reference internal" href="options/tex2jax.html#configure-tex2jax"><em>tex2jax configuration options</em></a> section for
@@ -74,6 +76,40 @@ does not implement <tt class="docutils literal"><span class="pre">\emph</span></
<tt class="docutils literal"><span class="pre">\begin{enumerate}...\end{enumerate}</span></tt> or other text-mode macros or
environments. You must use HTML to handle such formatting tasks. If
you need a LaTeX-to-HTML converter, you should consider <a class="reference external" href="http://www.google.com/search?q=latex+to+html+converter">other options</a>.</p>
+<div class="section" id="tex-and-latex-math-delimiters">
+<h2>TeX and LaTeX math delimiters<a class="headerlink" href="#tex-and-latex-math-delimiters" title="Permalink to this headline">¶</a></h2>
+<p>By default, the <cite>tex2jax</cite> preprocesor defines the LaTeX math delimiters,
+which are <tt class="docutils literal"><span class="pre">\(...\)</span></tt> for in-line math, and <tt class="docutils literal"><span class="pre">\[...\]</span></tt> for displayed
+equations. It also defines the TeX delimiters <tt class="docutils literal"><span class="pre">$$...$$</span></tt> for displayed
+equations, but it does <strong>not</strong> define <tt class="docutils literal"><span class="pre">$...$</span></tt> as in-line math
+delimiters. That is because dollar signs appear too often in
+non-mathematical settings, which could cause some text to be treated
+as mathematics unexpectedly. For example, with single-dollar
+delimiters, ”... the cost is $2.50 for the first one, and $2.00 for
+each additional one ...” would cause the phrase “2.50 for the first
+one, and” to be treated as mathematics since it falls between dollar
+signs. For this reason, if you want to use single-dollars for in-line
+math mode, you must enable that explicitly in your configuration:</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'\\('</span><span class="p">,</span><span class="s1">'\\)'</span><span class="p">]],</span>
+ <span class="nx">processEscapes</span><span class="o">:</span> <span class="kc">true</span>
+ <span class="p">}</span>
+<span class="p">});</span>
+</pre></div>
+</div>
+<p>Note that if you do this, you may want to also set <tt class="docutils literal"><span class="pre">processEscapes</span></tt> to
+<tt class="docutils literal"><span class="pre">true</span></tt>, as in the example above, so that you can use <tt class="docutils literal"><span class="pre">\$</span></tt> to prevent a
+dollar sign from being treated as a math delimiter within the text of your
+web page. (Note that within TeX mathematics, <tt class="docutils literal"><span class="pre">\$</span></tt> always has this
+meaning; <tt class="docutils literal"><span class="pre">processEscapes</span></tt> only affects the treatment of the <em>opening</em>
+math delimiter.)</p>
+<p>See the <tt class="docutils literal"><span class="pre">config/default.js</span></tt> file, or the <a class="reference internal" href="options/tex2jax.html#configure-tex2jax"><em>tex2jax configuration
+options</em></a> page, for additional configuration
+parameters that you can specify for the <cite>tex2jax</cite> preprocessor,
+which is the component of MathJax that identifies TeX notation within
+the page).</p>
+</div>
<div class="section" id="tex-and-latex-in-html-documents">
<h2>TeX and LaTeX in HTML documents<a class="headerlink" href="#tex-and-latex-in-html-documents" title="Permalink to this headline">¶</a></h2>
<p>Keep in mind that your mathematics is part of an HTML document, so you
@@ -121,41 +157,63 @@ does.</p>
<div class="section" id="tex-and-latex-extensions">
<span id="tex-extensions"></span><h2>TeX and LaTeX extensions<a class="headerlink" href="#tex-and-latex-extensions" title="Permalink to this headline">¶</a></h2>
<p>While MathJax includes nearly all of the Plain TeX math macros, and
-many of the LaTeX macros and environments, note everything is
+many of the LaTeX macros and environments, not everything is
implemented in the core TeX input processor. Some less-used commands
are defined in extensions to the TeX processor. MathJax will load
some extensions automatically when you first use the commands they
implement (for example, the <tt class="docutils literal"><span class="pre">\def</span></tt> and <tt class="docutils literal"><span class="pre">\newcommand</span></tt> macros are
-implemented in the <tt class="docutils literal"><span class="pre">TeX/newcommand.js</span></tt> extension, but MathJax loads
+implemented in the <tt class="docutils literal"><span class="pre">newcommand.js</span></tt> extension, but MathJax loads
this extension itself when you use those macros). Not all extensions
are set up to load automatically, however, so you may need to request
some extensions explicitly yourself.</p>
<p>To enable any of the TeX extensions, simply add the appropriate string
-(e.g., <cite>“TeX/AMSmath.js”</cite>) to your config’s <cite>extensions</cite> array. The
-main extensions are described below.</p>
+(e.g., <tt class="docutils literal"><span class="pre">"AMSmath.js"</span></tt>) to the <cite>extensions</cite> array in the <tt class="docutils literal"><span class="pre">TeX</span></tt> block
+of your configuration. If you use one of the combined configuration files,
+like <tt class="docutils literal"><span class="pre">TeX-AMS_HTML</span></tt>, this will already include several of the extensions
+automatically, but you can include others using a mathjax configuration
+script prior to loading MathJax. For example</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span> <span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span> <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"autobold.js"</span><span class="p">]</span> <span class="p">}});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"</span><span class="nt">></span>
+<span class="nt"></script></span>
+</pre></div>
+</div>
+<p>will load the <cite>autobold</cite> TeX extension in addition to those already
+included in the <tt class="docutils literal"><span class="pre">TeX-AMS_HTML</span></tt> configuration file.</p>
+<p>The main extensions are described below.</p>
<div class="section" id="amsmath-and-amssymbol">
<h3>AMSmath and AMSsymbol<a class="headerlink" href="#amsmath-and-amssymbol" title="Permalink to this headline">¶</a></h3>
-<p>The <cite>AMSmath</cite> extension implements AMS math environments and macros,
-and the <cite>AMSsymbol</cite> extension implements macros for accessing the AMS
-symbol fonts. To use these extensions, add them to your <cite>extensions</cite> array.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"TeX/AMSmath.js"</span><span class="p">,</span> <span class="s2">"TeX/AMSsymbol.js"</span><span class="p">,</span> <span class="p">...]</span>
+<p>The <cite>AMSmath</cite> extension implements AMS math environments and macros, and
+the <cite>AMSsymbol</cite> extension implements macros for accessing the AMS symbol
+fonts. These are already included in the combined configuration files that
+load the TeX input processor. To use these extensions in your own
+configurations, add them to the <cite>extensions</cite> array in the TeX block.</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"AMSmath.js"</span><span class="p">,</span> <span class="s2">"AMSsymbol.js"</span><span class="p">,</span> <span class="p">...]</span>
+<span class="p">}</span>
</pre></div>
</div>
-<p>See the list of commands at the end of this document for details about
-what commands are implemented in these extensions.</p>
-<p>The <cite>AMSmath</cite> extension will be loaded automatically when you first
-use one of the math environments it defines, but you will have to load
-it explicitly if you want to use the other macros that it defines.
-The <cite>AMSsymbols</cite> extension is not loaded automatically, so you must
-include it explicitly if you want to use the macros it defines.</p>
+<p>See the list of control sequences at the end of this document for details
+about what commands are implemented in these extensions.</p>
+<p>If you are not using one of the combined configuration files, the <cite>AMSmath</cite>
+extension will be loaded automatically when you first use one of the math
+environments it defines, but you will have to load it explicitly if you
+want to use the other macros that it defines. The <cite>AMSsymbols</cite> extension
+is not loaded automatically, so you must include it explicitly if you want
+to use the macros it defines.</p>
</div>
<div class="section" id="autobold">
<h3>Autobold<a class="headerlink" href="#autobold" title="Permalink to this headline">¶</a></h3>
<p>The <cite>autobold</cite> extension adds <tt class="docutils literal"><span class="pre">\boldsymbol{...}</span></tt> around mathematics that
appears in a section of an HTML page that is in bold.</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"TeX/autobold.js"</span><span class="p">]</span>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"autobold.js"</span><span class="p">]</span>
+<span class="p">}</span>
</pre></div>
</div>
+<p>This extension is <strong>not</strong> loaded by the combined configuration files.</p>
</div>
<div class="section" id="noerrors">
<h3>noErrors<a class="headerlink" href="#noerrors" title="Permalink to this headline">¶</a></h3>
@@ -164,21 +222,24 @@ displayed and shows the original TeX code instead. You can configure
whether the dollar signs are shown or not for in-line math, and
whether to put all the TeX on one line or use multiple lines (if the
original text contained line breaks).</p>
-<p>To enable the <cite>noErrors</cite> extension and configure it, use</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"TeX/noErrors.js"</span><span class="p">,</span> <span class="p">...],</span>
-<span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">noErrors</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">inlineDelimiters</span><span class="o">:</span> <span class="p">[</span><span class="s2">""</span><span class="p">,</span><span class="s2">""</span><span class="p">],</span> <span class="c1">// or ["$","$"] or ["\\(","\\)"]</span>
- <span class="nx">multiLine</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span> <span class="c1">// false for TeX on all one line</span>
- <span class="nx">style</span><span class="o">:</span> <span class="p">{</span>
- <span class="s2">"font-family"</span><span class="o">:</span> <span class="s2">"serif"</span><span class="p">,</span>
- <span class="s2">"font-size"</span><span class="o">:</span> <span class="s2">"80%"</span><span class="p">,</span>
- <span class="s2">"color"</span><span class="o">:</span> <span class="s2">"black"</span><span class="p">,</span>
- <span class="s2">"border"</span><span class="o">:</span> <span class="s2">"1px solid"</span>
- <span class="c1">// add any additional CSS styles that you want</span>
- <span class="c1">// (be sure there is no extra comma at the end of the last item)</span>
- <span class="p">}</span>
+<p>This extension is loaded by all the combined configuration files that
+include the TeX input processor. To enable the <cite>noErrors</cite> extension in
+your own configuration, or to modify its parameters, add something like the
+following to your <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> call:</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"noErrors.js"</span><span class="p">],</span>
+ <span class="nx">noErrors</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineDelimiters</span><span class="o">:</span> <span class="p">[</span><span class="s2">""</span><span class="p">,</span><span class="s2">""</span><span class="p">],</span> <span class="c1">// or ["$","$"] or ["\\(","\\)"]</span>
+ <span class="nx">multiLine</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span> <span class="c1">// false for TeX on all one line</span>
+ <span class="nx">style</span><span class="o">:</span> <span class="p">{</span>
+ <span class="s2">"font-family"</span><span class="o">:</span> <span class="s2">"serif"</span><span class="p">,</span>
+ <span class="s2">"font-size"</span><span class="o">:</span> <span class="s2">"80%"</span><span class="p">,</span>
+ <span class="s2">"color"</span><span class="o">:</span> <span class="s2">"black"</span><span class="p">,</span>
+ <span class="s2">"border"</span><span class="o">:</span> <span class="s2">"1px solid"</span>
+ <span class="c1">// add any additional CSS styles that you want</span>
+ <span class="c1">// (be sure there is no extra comma at the end of the last item)</span>
<span class="p">}</span>
+ <span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
@@ -189,14 +250,14 @@ paragraph, like standard display mathematics.</p>
black border. If you want it to look as though the TeX is just part of
the paragraph, use</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">noErrors</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">inlineDelimiters</span><span class="o">:</span> <span class="p">[</span><span class="s2">"$"</span><span class="p">,</span><span class="s2">"$"</span><span class="p">],</span> <span class="c1">// or ["",""] or ["\\(","\\)"]</span>
- <span class="nx">multiLine</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span>
- <span class="nx">style</span><span class="o">:</span> <span class="p">{</span>
- <span class="s2">"font-size"</span><span class="o">:</span> <span class="s2">"normal"</span><span class="p">,</span>
- <span class="s2">"border"</span><span class="o">:</span> <span class="s2">""</span>
- <span class="p">}</span>
+ <span class="nx">noErrors</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineDelimiters</span><span class="o">:</span> <span class="p">[</span><span class="s2">"$"</span><span class="p">,</span><span class="s2">"$"</span><span class="p">],</span> <span class="c1">// or ["",""] or ["\\(","\\)"]</span>
+ <span class="nx">multiLine</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span>
+ <span class="nx">style</span><span class="o">:</span> <span class="p">{</span>
+ <span class="s2">"font-size"</span><span class="o">:</span> <span class="s2">"normal"</span><span class="p">,</span>
+ <span class="s2">"border"</span><span class="o">:</span> <span class="s2">""</span>
<span class="p">}</span>
+ <span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
@@ -205,25 +266,28 @@ the paragraph, use</p>
<div class="section" id="noundefined">
<h3>noUndefined<a class="headerlink" href="#noundefined" title="Permalink to this headline">¶</a></h3>
<p>The <cite>noUndefined</cite> extension causes undefined control sequences to be
-shown as their macro names rather than produce an error message. So
+shown as their macro names rather than generating error messages. So
<tt class="docutils literal"><span class="pre">$X_{\xxx}$</span></tt> would display as an “X” with a subscript consiting of the
text <tt class="docutils literal"><span class="pre">\xxx</span></tt> in red.</p>
-<p>To enable and configure this extension, use for example</p>
-<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"TeX/noUndefined.js"</span><span class="p">,</span> <span class="p">...],</span>
-<span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">noUndefined</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">attributes</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">mathcolor</span><span class="o">:</span> <span class="s2">"red"</span><span class="p">,</span>
- <span class="nx">mathbackground</span><span class="o">:</span> <span class="s2">"#FFEEEE"</span><span class="p">,</span>
- <span class="nx">mathsize</span><span class="o">:</span> <span class="s2">"90%"</span>
- <span class="p">}</span>
+<p>This extension is loaded by all the combined configuration files that
+include the TeX input processor. To enable the <cite>noUndefined</cite> extension
+in your own configuration, or to modify its parameters, add something like
+the following ro your <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> call:</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"noUndefined.js"</span><span class="p">],</span>
+ <span class="nx">noUndefined</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">attributes</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">mathcolor</span><span class="o">:</span> <span class="s2">"red"</span><span class="p">,</span>
+ <span class="nx">mathbackground</span><span class="o">:</span> <span class="s2">"#FFEEEE"</span><span class="p">,</span>
+ <span class="nx">mathsize</span><span class="o">:</span> <span class="s2">"90%"</span>
<span class="p">}</span>
- <span class="p">}</span>
+ <span class="p">}</span>
+<span class="p">}</span>
</pre></div>
</div>
<p>The <tt class="docutils literal"><span class="pre">attributes</span></tt> setting specifies attributes to apply to the
<tt class="docutils literal"><span class="pre">mtext</span></tt> element that encodes the name of the undefined macro. The
-default settings set <tt class="docutils literal"><span class="pre">mathcolor</span></tt> to <tt class="docutils literal"><span class="pre">"red"</span></tt>, but do not set any
+default values set <tt class="docutils literal"><span class="pre">mathcolor</span></tt> to <tt class="docutils literal"><span class="pre">"red"</span></tt>, but do not set any
other attributes. This example sets the background to a light pink,
and reduces the font size slightly.</p>
</div>
@@ -262,9 +326,9 @@ in <cite>STIXGeneral</cite>), otherwise MathJax tries <cite>Arial Unicode MS</ci
<tt class="docutils literal"><span class="pre">\unicode{}</span></tt> macro, so you do not need to add it to the <cite>extensions</cite>
array. You can configure the extension as follows:</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">unicode</span><span class="o">:</span> <span class="p">{</span>
- <span class="nx">fonts</span><span class="o">:</span> <span class="s2">"STIXGeneral, 'Arial Unicode MS'"</span>
- <span class="p">}</span>
+ <span class="nx">unicode</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">fonts</span><span class="o">:</span> <span class="s2">"STIXGeneral, 'Arial Unicode MS'"</span>
+ <span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
@@ -935,6 +999,7 @@ S
<span class="k">\subset</span>
<span class="k">\subseteq</span>
<span class="k">\subseteqq</span> AMSsymbols
+<span class="k">\subsetneq</span> AMSsymbols
<span class="k">\substack</span> AMSmath
<span class="k">\succ</span>
<span class="k">\succapprox</span> AMSsymbols
@@ -950,6 +1015,7 @@ S
<span class="k">\supset</span>
<span class="k">\supseteq</span>
<span class="k">\supseteqq</span> AMSsymbols
+<span class="k">\supsetneq</span> AMSsymbols
<span class="k">\surd</span>
<span class="k">\swarrow</span>
@@ -1087,6 +1153,7 @@ Z
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">MathJax TeX and LaTeX Support</a><ul>
+<li><a class="reference internal" href="#tex-and-latex-math-delimiters">TeX and LaTeX math delimiters</a></li>
<li><a class="reference internal" href="#tex-and-latex-in-html-documents">TeX and LaTeX in HTML documents</a></li>
<li><a class="reference internal" href="#tex-and-latex-extensions">TeX and LaTeX extensions</a><ul>
<li><a class="reference internal" href="#amsmath-and-amssymbol">AMSmath and AMSsymbol</a></li>
@@ -1107,11 +1174,6 @@ Z
<h4>Next topic</h4>
<p class="topless"><a href="mathml.html"
title="next chapter">MathJax MathML Support</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/tex.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -1145,8 +1207,9 @@ Z
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/typeset.html b/docs/html/typeset.html
@@ -21,11 +21,13 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
<link rel="top" title="MathJax v1.1 documentation" href="index.html" />
<link rel="next" title="The MathJax API" href="api/index.html" />
<link rel="prev" title="Loading MathJax Dynamically" href="dynamic.html" />
</head>
<body>
+
<div class="related">
<h3>Navigation</h3>
<ul>
@@ -144,7 +146,7 @@ able to do so. Any additional actions the rely on the equation
queue so that they will not occur before the math is typeset.</p>
<p>The actions you can perform on an element jax include:</p>
<blockquote>
-<dl class="describe">
+<div><dl class="describe">
<dt>
<tt class="descname">Text(newmath)</tt></dt>
<dd><p>to set the math text of the element to <cite>newmath</cite> and typeset.</p>
@@ -172,7 +174,7 @@ the original <tt class="docutils literal"><span class="pre"><script></span
<tt class="docutils literal"><span class="pre"><script></span></tt> object that is assocaited with this element jax.</p>
</dd></dl>
-</blockquote>
+</div></blockquote>
<p>Note that once you have located an element jax, you can keep using it
and don’t have to look it up again. So for the example above, if the
student is going to be able to type several different answers that you
@@ -196,18 +198,22 @@ queue. If your startup code performs the commands</p>
</div>
<p>to change the student’s answer to be the typeset version of whatever
is in the <tt class="docutils literal"><span class="pre">studentAnswer</span></tt> variable.</p>
-<p>Here is a complete example that illustrates this approach</p>
+<p>Here is a complete example that illustrates this approach (available in a
+more full-featured version as <tt class="docutils literal"><span class="pre">test/sample-dynamic.html</span></tt>):</p>
<div class="highlight-html"><div class="highlight"><pre><span class="nt"><html></span>
<span class="nt"><head></span>
<span class="nt"><title></span>MathJax Dynamic Math Test Page<span class="nt"></title></span>
-<span class="nt"><script </span><span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
<span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
- <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">],</span>
- <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
- <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span><span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[[</span><span class="s2">"$"</span><span class="p">,</span><span class="s2">"$"</span><span class="p">],[</span><span class="s2">"\\("</span><span class="p">,</span><span class="s2">"\\)"</span><span class="p">]]}</span>
+ <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[[</span><span class="s2">"$"</span><span class="p">,</span><span class="s2">"$"</span><span class="p">],[</span><span class="s2">"\\("</span><span class="p">,</span><span class="s2">"\\)"</span><span class="p">]]</span>
+ <span class="p">}</span>
<span class="p">});</span>
<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full"</span><span class="nt">></span>
+<span class="nt"></script></span>
<span class="nt"></head></span>
<span class="nt"><body></span>
@@ -273,11 +279,6 @@ You typed: ${}$
<h4>Next topic</h4>
<p class="topless"><a href="api/index.html"
title="next chapter">The MathJax API</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/typeset.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
@@ -311,8 +312,9 @@ You typed: ${}$
</ul>
</div>
<div class="footer">
- © Copyright 2010 Design Science.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
</div>
+
</body>
</html>
\ No newline at end of file
diff --git a/docs/html/upgrade.html b/docs/html/upgrade.html
@@ -0,0 +1,306 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Migrating from MathJax v1.0 to v1.1 — MathJax v1.1 documentation</title>
+ <link rel="stylesheet" href="_static/mj.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.1',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
+ <link rel="top" title="MathJax v1.1 documentation" href="index.html" />
+ <link rel="next" title="Converting to MathJax from jsMath" href="jsMath.html" />
+ <link rel="prev" title="What’s New in MathJax v1.1" href="whats-new.html" />
+ </head>
+ <body>
+
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="jsMath.html" title="Converting to MathJax from jsMath"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="whats-new.html" title="What’s New in MathJax v1.1"
+ accesskey="P">previous</a> |</li>
+ <li><a href="index.html">MathJax v1.1 documentation</a> »</li>
+ </ul>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="migrating-from-mathjax-v1-0-to-v1-1">
+<span id="upgrade"></span><h1>Migrating from MathJax v1.0 to v1.1<a class="headerlink" href="#migrating-from-mathjax-v1-0-to-v1-1" title="Permalink to this headline">¶</a></h1>
+<p>MathJax v1.1 fixes a number of bugs in v1.0, and improves support for
+new versions of browsers and mobile devices. It includes changes to
+increase its performance, and to make it more compliant with HTML5. It
+has more flexible configuration options, and the ability to load
+configuration files that combine multiple files into a single one to
+increase loading speed when MathJax starts up. Finally, MathJax.org now
+offers MathJax as a web service through a distributed “cloud” server.</p>
+<p>This document describes the changes you may need to make to your MathJax
+configurations in order to take advantage of these improvements.</p>
+<div class="section" id="configuration-changes">
+<h2>Configuration Changes<a class="headerlink" href="#configuration-changes" title="Permalink to this headline">¶</a></h2>
+<p>The main changes that you will see as a page author are in the way that
+MathJax can be loaded and configured. If you have been using in-line
+configuration by putting a <tt class="xref py py-meth docutils literal"><span class="pre">MathJax.Hub.Config()</span></tt> call in the body of
+the <tt class="docutils literal"><span class="pre"><script></span></tt> tag that loads MathJax, then your site should work
+unchanged with version 1.1 of MathJax. You may wish to consider moving to
+the new HTML5-compliant method of configuring MathJax, however, which uses
+a separate <tt class="docutils literal"><span class="pre"><script></span></tt> tag to specify the configuration. That tag should
+come <strong>before</strong> the one that loads <tt class="docutils literal"><span class="pre">Mathjax.js</span></tt>, and should have
+<tt class="docutils literal"><span class="pre">type="text/x-mathjax-config"</span></tt> rather than <tt class="docutils literal"><span class="pre">type="text/javascript"</span></tt>.
+For example,</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">]</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+</pre></div>
+</div>
+<p>would become</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">]</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>instead. This will make sure your pages pass HTML5 validation. Be sure
+that you put the configuration block <strong>before</strong> the script that loads
+MathJax. See <a class="reference internal" href="configuration.html#loading"><em>Loading and Configuring MathJax</em></a> for more
+details.</p>
+<p>If your page simply loads <tt class="docutils literal"><span class="pre">MathJax.js</span></tt> and relies on
+<tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt>, then you will need to modify your <tt class="docutils literal"><span class="pre"><script></span></tt> tag
+in order to use MathJax v1.1. This is because MathJax no longer loads a
+default configuration file; you are required to explicity specify the
+configuration file if you use one. Furthermore, the name of the
+<tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file was a source of confusion, so it has been
+renamed <tt class="docutils literal"><span class="pre">config/default.js</span></tt> instead. Thus, if you used</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>in the past, you should replace it with</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js?config=default"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>instead. If you don’t do this, you will receive a warning message that
+directs you to a page that explains how to update your script tags to use
+the new configuration format.</p>
+</div>
+<div class="section" id="combined-configurations">
+<h2>Combined Configurations<a class="headerlink" href="#combined-configurations" title="Permalink to this headline">¶</a></h2>
+<p>New with version 1.1 is the ability to combine several files into a single
+configuration file, and to load that via the same script that loads
+MathJax. This should make configuring MathJax easier, and also helps to
+speed up the initial loading of MathJax’s components, since only one file
+needs to be downloaded.</p>
+<p>MathJax comes with four pre-built configurations, and our hope is that one
+of these will suit your needs. They are described in more detail in the
+<a class="reference internal" href="configuration.html#config-files"><em>Using a Configuration File</em></a> section. To load one,
+add <tt class="docutils literal"><span class="pre">?config=filename</span></tt> (where <tt class="docutils literal"><span class="pre">filename</span></tt> is the name of the
+configuration file without the <tt class="docutils literal"><span class="pre">.js</span></tt>) to the URL that loads
+<tt class="docutils literal"><span class="pre">MathJax.js</span></tt>. For example</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">,</span><span class="s2">"AMSmath.js"</span><span class="p">,</span><span class="s2">"AMSsymbols.js"</span><span class="p">]</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+</pre></div>
+</div>
+<p>could be replaced by the single line</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js?config=TeX-AMS_HTML"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>In this way, you don’t have to include the in-line configuration, and all
+the needed files will be downloaded when MathJax starts up. For complete
+details about the contents of the combined configuration files, see the
+<a class="reference internal" href="config-files.html#common-configurations"><em>Common Configurations</em></a> section.</p>
+<p>If you want to use a pre-defined configuration file, but want to modify some
+of the configuration parameters, you can use both a
+<tt class="docutils literal"><span class="pre">text/x-mathjax-config</span></tt> block and a <tt class="docutils literal"><span class="pre">config=filename</span></tt> parameter in
+combination. For example,</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">TeX</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'\\('</span><span class="p">,</span><span class="s1">'\\)'</span><span class="p">]</span> <span class="p">],</span>
+ <span class="nx">processEscapes</span><span class="o">:</span> <span class="kc">true</span>
+ <span class="p">}</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js?config=TeX-AMS_HTML"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>would load the <tt class="docutils literal"><span class="pre">TeX-AMS_HTML</span></tt> configuration file, but would reconfigure
+the inline math delimiters to include <tt class="docutils literal"><span class="pre">$...$</span></tt> in addition to
+<tt class="docutils literal"><span class="pre">\(...\)</span></tt>, and would set the <tt class="docutils literal"><span class="pre">processEscapes</span></tt> parameter to <tt class="docutils literal"><span class="pre">true</span></tt>.</p>
+</div>
+<div class="section" id="loading-mathjax-from-the-cdn">
+<h2>Loading MathJax from the CDN<a class="headerlink" href="#loading-mathjax-from-the-cdn" title="Permalink to this headline">¶</a></h2>
+<p>The MathJax installation is fairly substantial (due to the large number of
+images needed for the image fonts), and so you may not want to (or be able
+to) store MathJax on your own server. Keeping MathJax up to date can also
+be a maintenance problem, and you might prefer to let others handle that
+for you. In either case, using the MathJax distributed network service may be
+the best way for you to obtain MathJax. That way you can be sure you are
+using an up-to-date version of MathJax, and that the server will be fast
+and reliable.</p>
+<p>To use the MathJax CDN service, simply load MathJax as follows:</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span>
+ <span class="na">src=</span><span class="s">"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"</span><span class="nt">></span>
+<span class="nt"></scrip></span>
+</pre></div>
+</div>
+<p>Of course, you can load any configuration file that you wish, or use a
+<tt class="docutils literal"><span class="pre">text/x=mathajx-config</span></tt> block to configure MathJax in-line.
+<a class="reference internal" href="configuration.html#loading-cdn"><em>More details</em></a> are available, if you need them.</p>
+<p>The use of <tt class="docutils literal"><span class="pre">cdn.mathjax.org</span></tt> is governed by its <a class="reference external" href="http://www.mathjax.org/download/mathjax-cdn-terms-of-service/">terms of service</a>, so be
+sure to read that before linked to the MathJax CDN server.</p>
+</div>
+<div class="section" id="change-in-default-tex-delimiters">
+<h2>Change in default TeX delimiters<a class="headerlink" href="#change-in-default-tex-delimiters" title="Permalink to this headline">¶</a></h2>
+<p>In addition to the fact that MathJax v1.1 no longer loads a default
+configuration file, there is a second configuration change that could
+affect your pages. The <tt class="docutils literal"><span class="pre">config/MathJax.js</span></tt> file properly configured the
+<cite>tex2jax</cite> preprocessor to use only <tt class="docutils literal"><span class="pre">\(...\)</span></tt> and not <tt class="docutils literal"><span class="pre">$...$</span></tt> for in-line
+math delimiters, but the <cite>tex2jax</cite> preprocessor itself incorrectly
+defaulted to including <tt class="docutils literal"><span class="pre">$...$</span></tt> as in-line math delimiters. The result
+was that if you used in-line configuration to specify the <tt class="docutils literal"><span class="pre">tex2jax</span></tt>
+preprocessor, single-dollar delimiters were enabled by default, while if
+you used file-based configuration, they weren’t.</p>
+<p>This inconsistency was an error, and the correct behavior was supposed to
+have the single-dollar delimiters disabled in both cases. This is now
+true in v1.1 of MathJax. This means that if you used in-line
+configuration to specify the <cite>tex2jax</cite> preprocessor, you will need to
+change your configuration to explicitly enable the single-dollar
+delimiters if you want to use them.</p>
+<p>For example, if you had</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">]</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+</pre></div>
+</div>
+<p>and you want to use single-dollar delimiters for in-line math, then you
+should replace this with</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">jax</span><span class="o">:</span> <span class="p">[</span><span class="s2">"input/TeX"</span><span class="p">,</span><span class="s2">"output/HTML-CSS"</span><span class="p">],</span>
+ <span class="nx">extensions</span><span class="o">:</span> <span class="p">[</span><span class="s2">"tex2jax.js"</span><span class="p">],</span>
+ <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'\\('</span><span class="p">,</span><span class="s1">'\\)'</span><span class="p">]</span> <span class="p">],</span>
+ <span class="nx">processEscapes</span><span class="o">:</span> <span class="kc">true</span>
+ <span class="p">}</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>The same technique can be used in conjunction with a combined
+configuration file. For example</p>
+<div class="highlight-html"><div class="highlight"><pre><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/x-mathjax-config"</span><span class="nt">></span>
+ <span class="nx">MathJax</span><span class="p">.</span><span class="nx">Hub</span><span class="p">.</span><span class="nx">Config</span><span class="p">({</span>
+ <span class="nx">tex2jax</span><span class="o">:</span> <span class="p">{</span>
+ <span class="nx">inlineMath</span><span class="o">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'$'</span><span class="p">,</span><span class="s1">'$'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'\\('</span><span class="p">,</span><span class="s1">'\\)'</span><span class="p">]</span> <span class="p">],</span>
+ <span class="nx">processEscapes</span><span class="o">:</span> <span class="kc">true</span>
+ <span class="p">}</span>
+ <span class="p">});</span>
+<span class="nt"></script></span>
+<span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"/MathJax/MathJax.js?config=TeX-AMS_HTML"</span><span class="nt">></script></span>
+</pre></div>
+</div>
+<p>will load the pre-defined <tt class="docutils literal"><span class="pre">TeX-AMS_HTML</span></tt> configuration, but will modify
+the settings to allow <tt class="docutils literal"><span class="pre">$...$</span></tt> delimiters, and to process <tt class="docutils literal"><span class="pre">\$</span></tt> to
+produce dollar signs within the text of the page.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">Migrating from MathJax v1.0 to v1.1</a><ul>
+<li><a class="reference internal" href="#configuration-changes">Configuration Changes</a></li>
+<li><a class="reference internal" href="#combined-configurations">Combined Configurations</a></li>
+<li><a class="reference internal" href="#loading-mathjax-from-the-cdn">Loading MathJax from the CDN</a></li>
+<li><a class="reference internal" href="#change-in-default-tex-delimiters">Change in default TeX delimiters</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="whats-new.html"
+ title="previous chapter">What’s New in MathJax v1.1</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="jsMath.html"
+ title="next chapter">Converting to MathJax from jsMath</a></p>
+<div id="searchbox" style="display: none">
+ <h3>Quick search</h3>
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" size="18" />
+ <input type="submit" value="Go" />
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+ <p class="searchtip" style="font-size: 90%">
+ Enter search terms or a module, class or function name.
+ </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="jsMath.html" title="Converting to MathJax from jsMath"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="whats-new.html" title="What’s New in MathJax v1.1"
+ >previous</a> |</li>
+ <li><a href="index.html">MathJax v1.1 documentation</a> »</li>
+ </ul>
+ </div>
+ <div class="footer">
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
+ </div>
+
+ </body>
+</html>
+\ No newline at end of file
diff --git a/docs/html/whats-new.html b/docs/html/whats-new.html
@@ -0,0 +1,264 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>What’s New in MathJax v1.1 — MathJax v1.1 documentation</title>
+ <link rel="stylesheet" href="_static/mj.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '',
+ VERSION: '1.1',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <!--<script type="text/javascript" src="../../MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
+ <link rel="top" title="MathJax v1.1 documentation" href="index.html" />
+ <link rel="next" title="Migrating from MathJax v1.0 to v1.1" href="upgrade.html" />
+ <link rel="prev" title="The MathJax Community" href="community.html" />
+ </head>
+ <body>
+
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="upgrade.html" title="Migrating from MathJax v1.0 to v1.1"
+ accesskey="N">next</a> |</li>
+ <li class="right" >
+ <a href="community.html" title="The MathJax Community"
+ accesskey="P">previous</a> |</li>
+ <li><a href="index.html">MathJax v1.1 documentation</a> »</li>
+ </ul>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <div class="section" id="what-s-new-in-mathjax-v1-1">
+<span id="whats-new"></span><h1>What’s New in MathJax v1.1<a class="headerlink" href="#what-s-new-in-mathjax-v1-1" title="Permalink to this headline">¶</a></h1>
+<p>MathJax version 1.1 includes a number of important improvements and
+enhancements over version 1.0. We have worked hard to fix bugs, improve
+support for browsers and mobile devices, supprot TeX and MathML better, and
+increase MathJax’s performance.</p>
+<p>In addition to these changes, MathJax.org now offers MathJax as a network
+service. Instead of having to install MathJax on your own server, you can
+link to our content delivery network (CDN) to get fast access to
+up-to-date and past versions of MathJax. See <a class="reference internal" href="configuration.html#loading-cdn"><em>Loading MathJax from
+the CDN</em></a> for more details.</p>
+<p>The following sections outline the changes in v1.1:</p>
+<div class="section" id="optimization">
+<h2>Optimization<a class="headerlink" href="#optimization" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Combined configuraiton files that load all the needed files in one piece
+rather than loading them individually. This simplifies configuration
+and speeds up typsetting of the mathematics on the page.</li>
+<li>Improved responsiveness to mouse events during typesetting.</li>
+<li>Parallel downloading of files needed by MathJax, for faster startup
+times.</li>
+<li>Shorter timeout for web fonts, so if they can’t be downlaoded, you don’t
+have to wait so long.</li>
+<li>Rollover to image fonts if a web font fails to load (so you don’t have
+to wait for <em>every</em> font to fail.</li>
+<li>The MathJax files are now packed only with <cite>yuicompressor</cite> rather than a
+custom compressor. The CDN serves gzipped versions, which compressed
+better than the gzipped custom-packed files.</li>
+<li>Improved rendering speed in IE by removing <tt class="docutils literal"><span class="pre">position:relative</span></tt> from
+the style for mathematics.</li>
+<li>Improve rendering speed for most browsers by isolating the mathematics
+from page during typesetting (avoids full page reflows).</li>
+</ul>
+</div>
+<div class="section" id="enhancements">
+<h2>Enhancements<a class="headerlink" href="#enhancements" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Allow the input and output jax configuration blocks to specify extensions
+to be loaded when the jax is loaded (this avoids needing to load them up
+front, so they don’t have to be loaded on pages that don’t include
+mathematics, for example).</li>
+<li>Better handling of background color from style attributes.</li>
+<li>Ability to pass configuration parameters via script URL.</li>
+<li>Support HTML5 compliant configuration syntax.</li>
+<li>Switch the Git repository from storing the fonts in <cite>fonts.zip</cite> to
+storing the <cite>fonts/</cite> directory directly.</li>
+<li>Improved About box.</li>
+<li>add a minimum scaling factor (so math won’t get too small)</li>
+</ul>
+</div>
+<div class="section" id="tex-support">
+<h2>TeX Support<a class="headerlink" href="#tex-support" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Added support for <tt class="docutils literal"><span class="pre">\href</span></tt>, <tt class="docutils literal"><span class="pre">\style</span></tt>, <tt class="docutils literal"><span class="pre">\class</span></tt>, <tt class="docutils literal"><span class="pre">\cssId</span></tt>.</li>
+<li>Avoid recursive macro definitions and other resource consumption possibilities.</li>
+<li>Fix for <tt class="docutils literal"><span class="pre">\underline</span></tt> bug.</li>
+<li>Fix for bug with <tt class="docutils literal"><span class="pre">\fbox</span></tt>.</li>
+<li>Fix height problem with <tt class="docutils literal"><span class="pre">\raise</span></tt> and <tt class="docutils literal"><span class="pre">\lower</span></tt>.</li>
+<li>Fix problem with <tt class="docutils literal"><span class="pre">\over</span></tt> used inside array entries.</li>
+<li>Fix problem with nesting of math delimiters inside text-mode material.</li>
+<li>Fix single digit super- and subscripts followed by punctuation.</li>
+<li>Make sure <cite>movablelimits</cite> is off for <tt class="docutils literal"><span class="pre">\underline</span></tt> and related macros.</li>
+<li>Fix problem with dimensions given with <tt class="docutils literal"><span class="pre">pc</span></tt> units.</li>
+</ul>
+</div>
+<div class="section" id="mathml-support">
+<h2>MathML Support<a class="headerlink" href="#mathml-support" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Fix <tt class="docutils literal"><span class="pre">&lt;</span></tt> and <tt class="docutils literal"><span class="pre">&amp;</span></tt> being translated too early.</li>
+<li>Handle self-closing tags in HTML files better.</li>
+<li>Combine adjacent relational operators in <tt class="docutils literal"><span class="pre"><mo></span></tt> tags.</li>
+<li>Fix entity name problems.</li>
+<li>Better support for MathML namespaces.</li>
+<li>Properly handle comments within MathML in IE.</li>
+<li>Properly consider <tt class="docutils literal"><span class="pre"><mspace></span></tt> and <tt class="docutils literal"><span class="pre"><mtext></span></tt> as space-like.</li>
+<li>Improved support for <tt class="docutils literal"><span class="pre"><maction></span></tt> with embelished operators.</li>
+</ul>
+</div>
+<div class="section" id="other-bug-fixes">
+<h2>Other Bug Fixes<a class="headerlink" href="#other-bug-fixes" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Fixed CSS bleed through with zoom and other situations.</li>
+<li>Fixed problems with <tt class="docutils literal"><span class="pre">showMathMenuMSIE</span></tt> when set to <tt class="docutils literal"><span class="pre">false</span></tt>.</li>
+<li>Replaced illegal prefix characters in cookie name.</li>
+<li>Improve placement of surd for square roots and n-th roots.</li>
+<li>Fixed layer obscuring math from MathPlayer for screen readers.</li>
+<li>Newlines in CDATA comments are now handled properly.</li>
+<li>Resolved conflict between <cite>jsMath2jax</cite> and <cite>tex2jax</cite> both processing the
+same equation.</li>
+<li>Fixed problem with <tt class="docutils literal"><span class="pre">class="tex2jax_ignore"</span></tt> affecting the processing of
+sibling elements.</li>
+</ul>
+</div>
+<div class="section" id="browser-support">
+<h2>Browser Support<a class="headerlink" href="#browser-support" title="Permalink to this headline">¶</a></h2>
+<p><strong>Android</strong></p>
+<ul class="simple">
+<li>Added detection and configuration for Android browser.</li>
+<li>Allow use of OTF web fonts in Android 2.2.</li>
+</ul>
+<p><strong>Blackberry</strong></p>
+<ul class="simple">
+<li>MathJax now works with OS version 6.</li>
+</ul>
+<p><strong>Chrome</strong></p>
+<ul class="simple">
+<li>Use OTF web fonts rather than SVG fonts for version 4 and above.</li>
+</ul>
+<p><strong>Firefox</strong></p>
+<ul class="simple">
+<li>Added Firefox 4 detection and configuration.</li>
+<li>Fix for extra line-break bug when displayed equations are in
+preformatted text.</li>
+<li>Update fonts so that FF 3.6.13 and above can read them.</li>
+</ul>
+<p><strong>Internet Explorer</strong></p>
+<ul class="simple">
+<li>Changes for compatibility with IE9.</li>
+<li>Fix for IE8 incorrectly parsing MathML.</li>
+<li>Fix for IE8 namespace problem.</li>
+<li>Fix for null <tt class="docutils literal"><span class="pre">parentNode</span></tt> problem.</li>
+<li>Fix for <tt class="docutils literal"><span class="pre">outerHTML</span></tt> not quoting values of attributes.</li>
+</ul>
+<p><strong>iPhone/iPad</strong></p>
+<ul class="simple">
+<li>Add support for OTF web fonts in iOS4.2.</li>
+</ul>
+<p><strong>Nokia</strong></p>
+<ul class="simple">
+<li>MathJax now works with Symbian<sup>3</sup>.</li>
+</ul>
+<p><strong>Opera</strong></p>
+<ul class="simple">
+<li>Prevent Opera from using STIX fonts unless explicitly requested via the
+font menu (since Opera can’t display many of the characters).</li>
+<li>Fix for bad em-size detection in 10.61.</li>
+<li>Fixed a problem with the About dialog in Opera 11.</li>
+</ul>
+<p><strong>Safari</strong></p>
+<ul class="simple">
+<li>Use OTF web fonts for Safari/PC.</li>
+</ul>
+<p><strong>WebKit</strong></p>
+<ul class="simple">
+<li>Better version detection.</li>
+</ul>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ <h3><a href="index.html">Table Of Contents</a></h3>
+ <ul>
+<li><a class="reference internal" href="#">What’s New in MathJax v1.1</a><ul>
+<li><a class="reference internal" href="#optimization">Optimization</a></li>
+<li><a class="reference internal" href="#enhancements">Enhancements</a></li>
+<li><a class="reference internal" href="#tex-support">TeX Support</a></li>
+<li><a class="reference internal" href="#mathml-support">MathML Support</a></li>
+<li><a class="reference internal" href="#other-bug-fixes">Other Bug Fixes</a></li>
+<li><a class="reference internal" href="#browser-support">Browser Support</a></li>
+</ul>
+</li>
+</ul>
+
+ <h4>Previous topic</h4>
+ <p class="topless"><a href="community.html"
+ title="previous chapter">The MathJax Community</a></p>
+ <h4>Next topic</h4>
+ <p class="topless"><a href="upgrade.html"
+ title="next chapter">Migrating from MathJax v1.0 to v1.1</a></p>
+<div id="searchbox" style="display: none">
+ <h3>Quick search</h3>
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" size="18" />
+ <input type="submit" value="Go" />
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+ <p class="searchtip" style="font-size: 90%">
+ Enter search terms or a module, class or function name.
+ </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="upgrade.html" title="Migrating from MathJax v1.0 to v1.1"
+ >next</a> |</li>
+ <li class="right" >
+ <a href="community.html" title="The MathJax Community"
+ >previous</a> |</li>
+ <li><a href="index.html">MathJax v1.1 documentation</a> »</li>
+ </ul>
+ </div>
+ <div class="footer">
+ © Copyright 2011 Design Science.
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
+ </div>
+
+ </body>
+</html>
+\ No newline at end of file
diff --git a/docs/rst/_static/mathjax_mathml.user.js b/docs/rst/_static/mathjax_mathml.user.js
@@ -1,22 +0,0 @@
-// ==UserScript==
-// @name MathJax MathML
-// @namespace http://www.mathjax.org/
-// @description Insert MathJax into pages containing MathML
-// @include *
-// ==/UserScript==
-
-if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
- if ((document.getElementsByTagName("math").length > 0) ||
- (document.getElementsByTagNameNS == null ? false :
- (document.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math").length > 0))) {
- var script = document.createElement("script");
- script.src = "http://www.yoursite.edu/MathJax/MathJax.js"; // put your URL here
- var config = 'MathJax.Hub.Config({' +
- 'extensions:["mml2jax.js"],' +
- 'jax:["input/MathML","output/HTML-CSS"]' +
- '});' +
- 'MathJax.Hub.Startup.onload()';
- if (window.opera) {script.innerHTML = config} else {script.text = config}
- document.getElementsByTagName("head")[0].appendChild(script);
- }
-}
diff --git a/docs/rst/_static/mathjax_wikipedia.user.js b/docs/rst/_static/mathjax_wikipedia.user.js
@@ -1,35 +0,0 @@
-// ==UserScript==
-// @name MathJax in Wikipedia
-// @namespace http://www.mathjax.org/
-// @description Insert MathJax into Wikipedia pages
-// @include http://en.wikipedia.org/wiki/*
-// ==/UserScript==
-
-if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
- //
- // Replace the images with MathJax scripts of type math/tex
- //
- var images = document.getElementsByTagName('img');
- for (var i = images.length - 1; i >= 0; i--) {
- var img = images[i];
- if (img.className === "tex") {
- var script = document.createElement("script"); script.type = "math/tex";
- if (window.opera) {script.innerHTML = img.alt} else {script.text = img.alt}
- img.parentNode.replaceChild(script,img);
- }
- }
- //
- // Load MathJax and have it process the page
- //
- var script = document.createElement("script");
- script.src = "http://www.yoursite.edu/MathJax/MathJax.js"; // put your URL here
- var config = 'MathJax.Hub.Config({' +
- 'config: ["MMLorHTML.js"],' +
- 'extensions:["TeX/noErrors.js","TeX/noUndefined.js",' +
- '"TeX/AMSmath.js","TeX/AMSsymbols.js"],' +
- 'jax:["input/TeX"]' +
- '});' +
- 'MathJax.Hub.Startup.onload()';
- if (window.opera) {script.innerHTML = config} else {script.text = config}
- document.getElementsByTagName("head")[0].appendChild(script);
-}
diff --git a/docs/rst/api/ajax.rst b/docs/rst/api/ajax.rst
@@ -1,196 +0,0 @@
-.. _api-ajax:
-
-***********************
-The MathJax.Ajax Object
-***********************
-
-The `MathJax.Ajax` structure holds the data and functions for handling
-loading of external modules. Modules are loaded only once, even if
-called for in several places. The loading of files is asynchronous,
-and so the code that requests an external module will continue to run
-even when that module has not completed loading, so it is important to
-be aware of the timing issues this may cause. Similarly, creating or
-loading stylesheets is an asynchronous action. In particular, all
-actions that rely on the file or stylesheet having been loaded must be
-delayed until after the file has been downloaded completely. This is
-the reason for the large number of routines that take callback
-functions.
-
-Any operation that could cause the loading of a file or stylesheet
-must be synchronized with the rest of the code via such callbacks.
-Since processing any mathematics might cause files to be loaded (e.g.,
-little-used markup might be implemented in an extension that is loaded
-only when that markup is used), any code that dynamically typesets
-mathematics will need to be structured to use callbacks to guarantee
-that the mathematics has been completely processed before the code
-tries to use it. See the :ref:`Synchronizing with MathJax <synchronization>`
-documentation for details on how to do this properly.
-
-
-Properties
-==========
-
-.. describe:: timeout
-
- Number of milliseconds to wait for a file to load before
- it is considered to have failed to load.
-
- *Default:* 20 seconds
-
-.. describe:: STATUS.OK
-
- The value used to indicate that a file load has occurred
- successfully.
-
-.. describe:: STATUS.ERROR
-
- The value used to indicate that a file load has caused an error or
- a timeout to occur.
-
-.. describe:: loaded
-
- An object containing the names of the files that have been loaded (or
- requested) so far. ``MathJax.Ajax.loaded["file"]`` will be
- non-``null`` when the file has been loaded, with the value being
- the ``MathJax.Ajax.STATUS`` value of the load attempt.
-
-.. describe:: loading
-
- An object containing the files that are currently loading, the
- callbacks that are to be run when they load or timeout, and
- additional internal data.
-
-
-Methods
-=======
-
-.. method:: Require(file[,callback])
-
- Loads the given file if it hasn't been already. The file must be a
- JavaScript file or a CSS stylesheet; i.e., it must end in ``.js``
- or ``.css``. Alternatively, it can be an object with a single
- `key:value` pair where the `key` is one of ``js`` or ``css`` and
- the `value` is the file of that type to be loaded (this makes it
- possible to have the file be created by a CGI script, for example,
- or to use a ``data::`` URL). The file must be relative to the
- MathJax home directory and can not contain ``../`` file path
- components.
-
- When the file is completely loaded and run, the `callback`, if
- provided, will be executed passing it the status of the file load.
- If there was an error while loading the file, or if the file fails
- to load within the time limit given by ``MathJax.Ajax.timout``,
- the status will be ``MathJax.Ajax.STATUS.ERROR`` otherwise it
- will be ``MathJax.Ajax.STATUS.OK``. If the file is already
- loaded, the callback will be called immediately and the file will
- not be loaded again.
-
- :Parameters:
- - **file** --- name of the file to be loaded
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. method:: Load(file[,callback])
-
- Used internally to load a given file without checking if it
- already has been loaded, or where it is to be found.
-
- :Parameters:
- - **file** --- name of the file to be loaded
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. method:: loadComplete(file)
-
- Called from within the loaded files to inform MathJax that the
- file has been completely loaded and initialized. The `file`
- parameter is the name of the file that has been loaded. This
- routine will cause any callback functions registered for the file
- or included in the :meth:``MathJax.Ajax.Require()`` calls to be
- executed, passing them the status or the load
- (`MathJax.Ajax.STATUS.OK`` or ``MathJax.Ajax.STATUS.ERROR``) as
- their last parameter.
-
- :Parameters:
- - **file** --- name of the file that has been loaded
- :Returns: ``null``
-
-.. method:: loadTimeout(file)
-
- Called when the timeout period is over and the file hasn't loaded.
- This indicates an error condition, and the
- :meth:`MathJax.Ajax.loadError()` method will be executed, then the
- file's callback will be run with ``MathJax.Ajax.STATUS.ERROR`` as
- its parameter.
-
- :Parameters:
- - **file** --- name of the file that timed out
- :Returns: ``null``
-
-.. method:: loadError(file)
-
- The default error handler called when a file fails to load. It
- puts a warning message into the MathJax message box on screen.
-
- :Parameters:
- - **file** --- the name of the file that failed to load
- :Returns: ``null``
-
-.. method:: loadHook(file,callback)
-
- Registers a callback to be executed when the given file is
- loaded. The file load operation need to be started when this
- method is called, so it can be used to register a hook for a file
- that may be loaded in the future.
-
- :Parameters:
- - **file** --- the name of the file to wait for
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. method:: Styles(styles[,callback])
-
- Creates a stylesheet from the given style data. `styles` can
- either be a string containing a stylesheet definition, or an
- object containing a :ref:`CSS Style Object <css-style-objects>`.
- For example:
-
- .. code-block:: javascript
-
- MathJax.Ajax.Styles("body {font-family: serif; font-style: italic}");
-
- and
-
- .. code-block:: javascript
-
- MathJax.Ajax.Styles({
- body: {
- "font-family": "serif",
- "font-style": "italic"
- }
- });
-
- both set the body font family and style.
-
- The callback routine is called when the stylesheet has been
- created and is available for use.
-
- :Parameters:
- - **styles** --- CSS style object for the styles to set
- - **callback** --- the callback specification
- :Returns: the callback object
-
- .. note::
-
- Internet Explorer has a limit of 32 dynamically created
- stylesheets, so it is best to combine your styles into one
- large group rather than making several smaller calls.
-
-.. method:: fileURL(file)
-
- Returns a complete URL to a file (replacing ``[MathJax]`` with the
- actual root URL location).
-
- :Parameters:
- - **file** --- the file name possibly including ``[MathJax]``
- :Returns: the full URL for the file
diff --git a/docs/rst/api/elementjax.rst b/docs/rst/api/elementjax.rst
@@ -1,122 +0,0 @@
-.. _api-element-jax:
-
-****************************
-The MathJax.ElementJax Class
-****************************
-
-The element jax is the bridge between the input and output jax, and
-contains the data produced by the input jax needed by the output jax
-to display the results. It is tied to the individual ``<script>`` tag
-that produced it, and is the object used by JavaScript programs to
-interact with the mathematics on the page.
-
-An element jax is stored in the ``jax.js`` file in a subdirectory of
-the ``jax/element`` directory, with the subdirectory name being the
-name of the element jax. Currently, there is only one element jax
-class, the `mml` element jax, and it is stored in ``jax/element/mml``.
-
-The `MathJax.ElementJax` class is a subclass of the :ref:`MathJax Jax
-<api-jax>` class, and inherits the properties and methods of that
-class. Those listed below are the additional or overridden ones from
-that class.
-
-
-Class Properties
-================
-
-.. describe:: name
-
- The name of the jax.
-
-.. describe:: version
-
- The version number of the jax.
-
-.. describe:: directory
-
- The directory where the jax files are stored (e.g., ``"[MathJax]/jax/element/mml"``);
-
-
-Instance Properties
-===================
-
-.. describe:: inputJax
-
- A reference to the input jax that created the element.
-
-.. describe:: outputJax
-
- A reference to the output jax that has processed this element.
-
-.. describe:: inputID
-
- The DOM `id` of the ``<script>`` tag that generated this element
- (if it doesn't have one initially, the MathJax hub will supply
- one). Note that this is not a reference to the element itself;
- that element will have a reference to this element jax, and if
- `inputID` were a reference back, that would cause a reference
- loop, which some browsers would not free properly during trash
- collection, thus causing a memory leak.
-
-.. describe:: originalText
-
- A string indicating the original input text that was processed for
- this element.
-
-.. describe:: mimeType
-
- The MIME-type of the element jax (`jax/mml` in the case of an
- `mml` element jax).
-
-Other data specific to the element jax subclass may also appear here.
-
-
-Methods
-=======
-
-.. Method:: Text(text[,callback])
-
- Sets the input text for this element to the given text and
- reprocesses the mathematics. (I.e., update the equation to the
- new one given by `text`). When the processing is complete, the
- `callback`, if any, is called.
-
- :Parameters:
- - **text** --- the new mathematic source string for the element
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. Method:: Reprocess([callback])
- :noindex:
-
- Remove the output and produce it again. This may be necessary if
- there are changes to the CSS styles that would affect the layout
- of the mathematics, for example. The `callback`, if any, is
- called when the process completes.
-
- :Parameters:
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. Method:: Remove()
- :noindex:
-
- Removes the output for this element from the web page (but does
- not remove the original ``<script>``). The ``<script>`` will be
- considered unprocessed, and the next call to
- :meth:`MathJax.hub.Typeset()` will re-display it.
-
- :Returns: ``null``
-
-.. Method:: SourceElement()
-
- Returns a reference to the original ``<script>`` DOM element
- associated to this element jax.
-
- :Returns: the ``<script>`` element
-
-Output jax may add new methods to the base element jax class to
-perform exporting to other formats. For example, a MathML output jax
-could add ``toMathML()``, or an accessibility output jax could add
-``toAudible()``. These could be made available via the MathJax
-contextual menu.
diff --git a/docs/rst/api/html.rst b/docs/rst/api/html.rst
@@ -1,122 +0,0 @@
-.. _api-html:
-
-***********************
-The MathJax.HTML Object
-***********************
-
-The ``MathJax.HTML`` object provides routines for creating HTML
-elements and adding them to the page, and int particular, it contains
-the code that processes MathJax's :ref:`HTML snippets <html-snippets>`
-and turns them into actual DOM objects. It also implements the
-methods used to manage the cookies used by MathJax.
-
-
-Properties
-==========
-
-.. describe:: Cookie.prefix: "mjx"
-
- The prefix used for names of cookies stored by MathJax.
-
-.. describe:: Cookie.expires: 365
-
- The expiration time (in days) for cookies created by MathJax.
-
-
-Methods
-=======
-
-.. method:: Element(type[,attributes[,contents]])
-
- Creates a DOM element of the given type. If `attributes` is
- non-``null``, it is an object that contains `key:value` pairs of
- attributes to set for the newly created element. If `contents` is
- non-``null``, it is an :ref:`HTML snippet <html-snippets>` that
- describes the contents to create for the element. For example
-
- .. code-block:: javascript
-
- var div = MathJax.HTML.Element(
- "div",
- {id: "MathDiv", style:{border:"1px solid", padding:"5px"}},
- ["Here is math: $x+1$",["br"],"and a display $$x+1\\over x-1$$"]
- );
-
- :Parameters:
- - **type** --- node type to be created
- - **attributes** --- object specifying attributes to set
- - **contents** --- HTML snippet representing contents of node
- :Returns: the DOM element created
-
-.. method:: addElement(parent,type[,attributes[,content]])
-
- Creates a DOM element and appends it to the `parent` node
- provided. It is equivalent to
-
- .. code-block:: javascript
-
- parent.appendChild(MathJax.HTML.Element(type,attributes,content))
-
- :Parameters:
- - **parent** --- the node where the element will be added
- - **attributes** --- object specifying attributes to set
- - **contents** --- HTML snippet representing contents of node
- :Returns: the DOM element created
-
-.. method:: TextNode(text)
-
- Creates a DOM text node with the given text as its content.
-
- :Parameters:
- - **text** --- the text for the node
- :Returns: the new text node
-
-.. method:: addText(parent,text)
-
- Creates a DOM text node with the given text and appends it to the
- `parent` node.
-
- :Parameters:
- - **parent** --- the node where the text will be added
- - **text** --- the text for the new node
- :Returns: the new text node
-
-.. describe:: Cookie.Set(name,data)
-
- Creates a MathJax cookie using the ``MathJax.HTML.Cookie.prefix``
- and the `name` as the cookie name, and the `key:value` pairs in
- the `data` object as the data for the cookie. For example,
-
- .. code-block:: javascript
-
- MathJax.HTML.Cookie.Set("test",{x:42, y:"It Works!"});
-
- will create a cookie named "mjx:test" that stores the values of
- ``x`` and ``y`` provided in the `data` object. This data can be
- retrieved using the :meth:`MathJax.HTML.Cookie.Get()` method
- discussed below.
-
- :Parameters:
- - **name** --- the name that identifies the coookie
- - **data** --- object containing the data to store in the cookie
- :Returns: ``null``
-
-.. describe:: Cookie.Get(name[,obj])
-
- Looks up the data for the cookie named `name` and merges the data
- into the given `obj` object, or returns a new object containing
- the data. For instance, given the cookie stored by the example
- above,
-
- .. code-block:: javascript
-
- var data = MathJax.HTML.Cookie.Get("test");
-
- would set ``data`` to ``{x:42, y:"It Works!"}``, while
-
- .. code-block:: javascript
-
- var data = {x:10, z:"Safe"};
- MathJax.HTML.Cookie.Get("test",data);
-
- would leave ``data`` as ``{x:42, y:"It Works!", z:"Safe"}``.
diff --git a/docs/rst/api/hub.rst b/docs/rst/api/hub.rst
@@ -1,330 +0,0 @@
-.. _api-hub:
-
-**********************
-The MathJax.Hub Object
-**********************
-
-The MathJax Hub, `MathJax.Hub`, is the main control structure for
-MathJax. It is where input and output :term:`jax` are tied together,
-and it is what handles processing of the MathJax ``<script>`` tags.
-Processing of the mathematics on the page may require external files
-to be loaded (when the mathematics includes less common functionality,
-for example, that is defined in an extension file), and since file
-loading is asynchronous, a number of the methods below may return
-before their actions are completed. For this reason, they include
-callback functions that are called when the action completes. These
-can be used to synchronize actions that require the mathematics to be
-completed before those action occur. See the :ref:`Using Callbacks
-<using-callbacks>` documentation for more details.
-
-
-Properties
-==========
-
-.. describe:: config: { ... }
-
- This holds the configuration parameters for MathJax. Set these
- values using :meth:`MathJax.Hub.Config()` described below. The
- options and their default values are given in the :ref:`Core
- Options <configure-hub>` reference page.
-
-.. describe:: processUpdateTime: 500
-
- The minimum time (in milliseconds) between updates of the
- "Processing Math" message.
-
-.. describe:: signal
-
- The hub processing signal (tied to the
- :meth:`MathJax.Hub.Register.MessageHook()` method).
-
-.. describe:: Browser
-
- The name of the browser as determined by MathJax. It will be one
- of ``Firefox``, ``Safari``, ``Chrome``, ``Opera``, ``MSIE``,
- ``Konqueror``, or ``unkown``. This is actually an object with
- additional properties and methods concerning the browser:
-
- .. describe:: version
-
- The browser version number, e.g., ``"4.0"``
-
- .. describe:: isMac and isPC
-
- These are boolean values that indicate whether the browser is
- running on a Macintosh computer or a Windows computer. They
- will both be ``false`` for a Linux computer
-
- .. describe:: isForefox, isSafari, isChrome, isOpera, isMSIE, isKonqueror
-
- These are ``true`` when the browser is the indicated one, and
- ``false`` otherwise.
-
- .. describe:: versionAtLeast(version)
-
- This tests whether the browser version is at least that given
- in the `version` string. Note that you can not simply do a
- numeric comparison, as version 4.10 should be considered later
- than 4.9, for example. Similarly, 4.10 is different from 4.1,
- for instance.
-
- .. describe:: Select(choices)
-
- This lets you perform browser-specific functions. Here,
- `choices` is an object whose properties are the names of the
- browsers and whose values are the functions to be performed.
- Each function is passed one parameter, which is the
- ``MathJax.Hub.Browser`` object. You do not need to include
- every browser as one of your choices (only those for which you
- need to do special processing. For example:
-
- .. code-block:: javascript
-
- MathJax.Hub.Browser.Select(
- MSIE: function (browser) {
- if (browser.versionAtLeast("8.0")) {... do version 8 stuff ... }
- ... do general MSIE stuff ...
- },
-
- Firefox: function (browser) {
- if (browser.isMac) {... do Mac stuff ... }
- ... do general Firefox stuff
- }
- );
-
-Methods
-=======
-
-.. Method:: Config(options)
-
- Sets the configuration options (stored in ``MathJax.Hub.config``)
- to the values stored in the `options` object. See
- :ref:`Configuring MathJax <configuration>` for details on how this
- is used and the options that you can set.
-
- :Parameters:
- - **options** --- object containing options to be set
- :Returns: ``null``
-
-.. describe:: Register.PreProcessor(callback)
-
- Used by preprocessors to register themselves with MathJax so that
- they will be called during the :meth:`MathJax.Hub.PreProcess()`
- action.
-
- :Parameters:
- - **callback** --- the callback specification for the preprocessor
- :Returns: ``null``
-
-.. describe:: Register.MessageHook(type,callback)
-
- Registers a listener for a particular message being sent to the
- hub processing signal (where `PreProcessing`, `Processing`, and
- `New Math` messages are sent). When the message equals the
- `type`, the `callback` will be called with the message as its
- parameter.
-
- :Parameters:
- - **type** --- a string indicating the message to look for
- - **callback** --- a callback specification
- :Returns: ``null``
-
-.. describe:: Register.StartupHook(type,callback)
-
- Registers a listener for a particular message being sent to the
- startup signal (where initialization and component startup
- messages are sent). When the message equals the `type`, the
- `callback will be called with the message as its parameter.
- See the :ref:`Using Signals <using-signals>` dcocumentation for
- more details.
-
- :Parameters:
- - **type** --- a string indicating the message to look for
- - **callback** --- a callback specification
- :Returns: ``null``
-
-.. describe:: Register.LoadHook(file,callback)
-
- Registers a callback to be called when a particular file is
- completely loaded and processed. (The callback is called when the
- file makes its :meth:`MathJax.Ajax.loadComplete()` call.) The
- `file` should be the complete file name, e.g.,
- ``"[MathJax]/config/MathJax.js"``.
-
- :Parameters:
- - **file** --- the name of the file to wait for
- - **callback** --- a callback specification
- :Returns: the callback object
-
-.. Method:: Queue(callback,...)
- :noindex:
-
- Pushes the given callbacks onto the main MathJax command queue.
- This synchronizes the commands with MathJax so that they will be
- performed in the proper order even when some run asynchronously.
- See :ref:`Using Queues <using-queues>` for more details about how
- to use queues, and the MathJax queue in particular. You may
- supply as many `callback` specifications in one call to the
- :meth:`Queue()` method as you wish.
-
- :Parameters:
- - **callback** --- a callback specification
- :Returns: the callback object for the last callback added to the queue
-
-.. Method:: Typeset([element[,callback]])
-
- Calls the preprocessors on the given element, and then typesets
- any math elements within the element. If no `element` is
- provided, the whole document is processed. The `element` is
- either the DOM `id` of the element, or a reference to the DOM
- element itself. The `callback` is called when the process is
- complete. See the :ref:`Modifying Math <typeset-math>` section
- for details of how to use this method properly.
-
- :Parameters:
- - **element** --- the element whose math is to be typeset
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. method:: PreProcess([element[,callback]])
-
- Calls the loaded preprocessors on the entire document, or on the
- given DOM element. The `element` is either the DOM `id` of the
- element, or a reference to the DOM element itself. The `callback`
- is called when the processing is complete.
-
- :Parameters:
- - **element** --- the element to be preprocessed
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. method:: Process([element[,callback]])
-
- Scans either the entire document or a given DOM `element` for
- MathJax ``<script>`` tags and processes the math those tags
- contain. The `element` is either the DOM `id` of the element to
- scan, or a reference to the DOM element itself. The `callback` is
- called when the processing is complete.
-
- :Parameters:
- - **element** --- the element to be processed
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. method:: Update([element[,callback]])
-
- Scans either the entire document or a given DOM element for
- mathematics that has changed since the last time it was processed,
- or is new, and typesets the mathematics they contain. The
- `element` is either the DOM `id` of the element to scan, or a
- reference to the DOM element itself. The `callback` is called
- when the processing is complete.
-
- :Parameters:
- - **element** --- the element to be updated
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. method:: Reprocess([element[,callback]])
-
- Removes any typeset mathematics from the document or DOM
- element, and then processes the mathematics again,
- re-typesetting everything. This may be necessary, for example, if
- the CSS styles have changed and those changes would affect the
- mathematics. The `element` is either the DOM `id` of the element
- to scan, or a reference to the DOM element itself. The `callback`
- is called when the processing is complete.
-
- :Parameters:
- - **element** --- the element to be reprocessed
- - **callback** --- the callback specification
- :Returns: the callback object
-
-.. method:: getAllJax([element])
-
- Returns a list of all the element jax in the document or a
- specific DOM element. The `element` is either the DOM `id` of the
- element, or a reference to the DOM element itself.
-
- :Parameters:
- - **element** --- the element to be searched
- :Returns: array of `element jax` objects
-
-.. method:: getJaxByType(type[,element])
-
- Returns a list of all the element jax of a given MIME-type in the
- document or a specific DOM element. The `element` is either the
- DOM `id` of the element to search, or a reference to the DOM
- element itself.
-
- :Parameters:
- - **type** --- MIME-type of `element jax` to find
- - **element** --- the element to be searched
- :Returns: array of `element jax` objects
-
-.. method:: getJaxByInputType(type[,element])
-
- Returns a list of all the element jax associated with input
- ``<script>`` tags with the given MIME-type within the given DOM
- element or the whole document. The `element` is either the DOM
- `id` of the element to search, or a reference to the DOM element
- itself.
-
- :Parameters:
- - **type** --- MIME-type of input (e.g., ``"math/tex"``)
- - **element** --- the element to be searched
- :Returns: array of `element jax` objects
-
-.. method:: getJaxFor(element)
-
- Returns the element jax associated with a given DOM
- element. If the element does not have an associated element jax,
- ``null`` is returned. The `element` is either the DOM `id` of the
- element, or a reference to the DOM element itself.
-
- :Parameters:
- - **element** --- the element whose element jax is required
- :Returns: `element jax` object or ``null``
-
-.. method:: isJax(element)
-
- Returns ``0`` if the element is not a ``<script>`` that can be
- processed by MathJax or the result of an output jax, returns ``-1``
- if element is an unprocessed ``<script>`` tag that could be
- handled by MathJax, and returns ``1`` if element is a processed
- ``<script>`` tag or an element that is the result of an output jax.
-
- :Parameters:
- - **element** --- the element to inspect
- :Returns: integer (-1, 0, 1)
-
-.. Method:: Insert(dst,src)
-
- Inserts data from the `src` object into the `dst` object. The
- `key:value` pairs in `src` are (recursively) copied into `dst`, so
- that if `value` is itself an object, its contents is copied into
- the corresponding object in `dst`. That is, objects within `src`
- are merged into the corresponding objects in `dst` (they don't
- replace them).
-
- :Parameters:
- - **dst** --- the destination object
- - **src** --- the source object
- :Returns: the modified destination object
-
-.. Method:: formatError(script,error)
-
- This is called when an internal error occurs during the processing
- of a math element (i.e., an error in the MathJax code itself).
- The `script` is a reference to the ``<script>`` tag where the
- error occurred, and `error` is the ``Error`` object for the error.
- The default action is to insert an HTML snippet at the location of
- the script, but this routine can be overriden durring MathJax
- configuration in order to perform some other action.
- ``MathJax.Hub.lastError`` holds the ``error`` value of the last
- error on the page.
-
- :Parameters:
- - **script** --- the ``<script>`` tag causing the error
- - **error** --- the ``Error`` object for the error
- :Returns: ``null``
diff --git a/docs/rst/api/inputjax.rst b/docs/rst/api/inputjax.rst
@@ -1,86 +0,0 @@
-.. _api-input-jax:
-
-**************************
-The MathJax.InputJax Class
-**************************
-
-Input jax are the components of MathJax that translate
-mathematics from its original format (like :term:`TeX` or
-:term:`MathML`) to the MathJax internal format (an `element jax`).
-
-An input jax is stored as a pair of files in a subdirectory of the
-``jax/input`` directory, with the subdirectory name being the name of
-the input jax. For example, the TeX input jax is stored in
-`jax/input/TeX`. The first file, ``config.js``, is loaded when
-MathJax is being loaded and configured, and is indicated by listing
-the input jax directory in the `jax` array of the MathJax
-configuration. The ``config.js`` file creates a subclass of the
-`MathJax.InputJax` object for the new input jax and registers that
-with MathJax, along with the MIME-type that will be used to indicate
-the mathematics that is to be processed by the input jax.
-
-The main body of the input jax is stored in the second file,
-``jax.js``, which is loaded when the input jax is first called on to
-translate some mathematics. This file augments the original input jax
-subclass with the additional methods needed to do the translation.
-MathJax calls the input jax's :meth:`Translate()` method when it needs
-the input jax to translate the contents of a math ``<script>`` tag.
-
-The `MathJax.InputJax` class is a subclass of the :ref:`MathJax Jax
-<api-jax>` class, and inherits the properties and methods of that
-class. Those listed below are the additional or overridden ones from
-that class.
-
-
-Properties
-==========
-
-.. describe:: name
-
- The name of the jax.
-
-.. describe:: version
-
- The version number of the jax.
-
-.. describe:: directory
-
- The directory where the jax files are stored (e.g., ``"[MathJax]/jax/input/TeX"``);
-
-
-Methods
-=======
-
-.. Method:: Translate(script)
- :noindex:
-
- This is the main routine called by MathJax when a ``<script>`` of
- the appropriate type is found. The default :meth:`Translate()`
- method simply loads the ``jax.js`` file and returns that callback
- for that load function so that MathJax will know when to try
- the :meth:`Translate()` action again. When the ``jax.js`` file
- loads, it should override the default :meth:`Translate()` with its
- own version that does the actual translation; that way, when the
- second Translate call is made, it will be to the actual
- translation routine rather than the default loader.
-
- The translation process should include the creation of an
- :ref:`Element Jax <api-element-jax>` that stores the data needed
- for this element.
-
- :Parameters:
- - **script** --- the ``<script>`` element to be translated
- :Returns: the `element jax` resulting from the translation
-
-.. Method:: Register(mimetype)
- :noindex:
-
- This registers the MIME-type associated with this input jax so
- that MathJax knows to call this input jax when it sees a
- ``<script>`` of that type. An input jax can register more than
- one type, but it will be responsible for distinguishing elements
- of the various types from one another.
-
- :Parameters:
- - **mimetype** --- the MIME-type of the input this jax processes
- :Returns: ``null``
diff --git a/docs/rst/api/jax.rst b/docs/rst/api/jax.rst
@@ -1,148 +0,0 @@
-.. _api-jax:
-
-******************
-The Base Jax Class
-******************
-
-The `MathJax.InputJax`, `MathJax.OutputJax` and `MathJax.ElementJax`
-classes are all subclasses of the base `Jax` class in MathJax. This
-is a private class that implements the methods common to all three
-other jax classes.
-
-Unlike most MathJax.Object classes, calling the class object creates a
-*subclass* of the class, rather than an instance of the class. E.g.,
-
-.. code-block:: javascript
-
- MathJax.InputJax.MyInputJax = MathJax.InputJax({
- name: "MyInputJax",
- version: "1.0",
- ...
- });
-
-creates ``MathJax.InputJax.MyInputJax`` as a subclass of ``MathJax.InputJax``.
-
-
-Class Properties
-================
-
-.. describe:: directory
-
- The name of the jax directory (usually ``"[MathJax]/jax").
- Overridden in the subclass to be the specific directory for the
- class, e.g. ``"[MathJax]/jax/input"``.
-
-.. describe:: extensionDir
-
- The name of the extensions directory (usually ``"[MathJax]/extensions"``).
-
-
-Instance Properties
-===================
-
-.. describe:: name
-
- The name of the jax.
-
-.. describe:: version
-
- The version number of the jax.
-
-.. describe:: directory
-
- The directory for the jax (e.g., ``"[MathJax]/jax/input/TeX"``).
-
-.. describe:: require: null
-
- An array of files to load before the ``jax.js`` file calls the
- :meth:`MathJax.Ajax.loadComplete()` method.
-
-.. describe:: config: {}
-
- An object that contains the default configuration options for the
- jax. These can be modified by the author by including a
- configuration subsection for the specific jax in question.
-
-
-Methods
-=======
-
-.. Method:: Translate(script)
-
- This is the method that the ``MathJax.Hub`` calls when it needs
- the input or output jax to process the given math ``<script>``
- call. Its default action is to start loading the jax's ``jax.js``
- file, and redefine the :meth:`Translate()` method to be the
- :meth:`noTranslate()` method below. The ``jax.js`` file should
- redefine the :meth:`Translate()` method to perform the translation
- operation for the specific jax. For an input jax, it should
- return the `ElementJax` object that it created.
-
- :Parameters:
- - **script** --- reference to the DOM ``<script>`` object for
- the mathematics to be translated
- :Returns: an `ElementJax` object, or ``null``
-
-.. Method:: noTranslate(script)
-
- This is a temporary routine that is used while the ``jax.js`` file
- is loading. It throws an error indicating the the
- :meth:`Translate()` method hasn't been redefined. That way, if
- the ``jax.js`` file failes to load for some reason, you will
- receive an error trying to process mathematics with this input
- jax.
-
- :Parameters:
- - **script** --- reference to the DOM ``<script>`` object for
- the mathematics to be translated
- :Returns: ``null``
-
-.. Method:: Register(mimetype)
-
- This method is overridden in the `InputJax`, `OutputJax` and
- `ElementJax` subclasses to handle the registration of those
- classes of jax.
-
- :Parameters:
- - **mimetype** --- the MIME-type to be associated with the jax
- :Returns: ``null``
-
-.. Method:: Config()
- :noindex:
-
- Inserts the configuration block for this jax from the author's
- configuration specification into the jax's ``config`` property.
- If the configuration includes an ``Augment`` object, that is used
- to augment the jax (that is, the configuration can override the
- methods of the object, as well as the data). This is called
- automatically during the loading of the ``jax.js`` file.
-
-.. Method:: Startup()
-
- This is a method that can be overridden in the subclasses to
- perform initialization at startup time (after the configuration
- has occurred).
-
-.. Method:: loadComplete (file)
- :noindex:
-
- This is called by the ``config.js`` and ``jax.js`` files when they
- are completely loaded and are ready to signal that fact to
- MathJax. For ``config.js``, this simply calls the
- :meth:`MathJax.Ajax.loadComplete()` method for the ``config.js``
- file. For ``jax.js``, the actions performed here are the
- following:
-
- 1. Post the "[name] Jax Config" message to the startup signal.
- 2. Perform the jax's :meth:`Config()` method.
- 3. Post the "[name] Jax Require" message to the startup signal.
- 4. Load the files from the jax's ``require`` array (which may
- have been modified during the configuration process).
- 5. Post the "[name] Jax Startup" message to the startup signal.
- 6. Perform the jax's :meth:`Startup()` method.
- 7. Post the "[name] Jax Ready" message to the startup signal.
- 8. perform the :meth:`MathJax.Ajax.loadComplete()` call for the
- ``jax.js`` file.
-
-
-
diff --git a/docs/rst/api/message.rst b/docs/rst/api/message.rst
@@ -1,86 +0,0 @@
-.. _api-message:
-
-**************************
-The MathJax.Message Object
-**************************
-
-The ``MathJax.Message`` object contains the methods used to manage the
-small message area that appears at the lower-left corner of the
-window. MathJax uses this area to inform the user of time-consuming
-actions, like loading files and fonts, or how far along in the
-typesetting process it is.
-
-The page author can customize the look of the message window by
-setting styles for the ``#MathJax_Message`` selector (which can be
-set via
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- styles: {
- "#MathJax_Message": {
- ...
- }
- }
- });
-
-Because of a bug in Internet Explorer, in order to change the side of
-the screen where the the message occurs, you must also set the side
-for ``#MathJax_MSIE_Frame``, as in
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- styles: {
- "#MathJax_Message": {left: "", right: 0},
- "#MathJax_MSIE_Frame": {left: "", right: 0}
- }
- });
-
-
-It is possible that a message is already being displayed when another
-message needs to be posted. For this reason, when a message is
-displayed on screen, it gets an id number that is used when you want
-to remove or change that message. That way, when a message is
-removed, the previous message (if any) can be redisplayed if it hasn't
-been removed. This allows for intermittent messages (like file
-loading messages) to obscure longer-term message (like "Processing
-Math" messages) temporarily.
-
-
-Methods
-=======
-
-.. method:: Set(message,[n,[delay]])
-
- This sets the message being displayed to the given `message`
- string. If `n` is not ``null``, it represents a message id
- number and the text is set for that message id, otherwise a new id
- number is created for this message. If `delay` is provided, it is
- the time (in milliseconds) to display the message before it is
- cleared. If `delay` is not provided, the message will not be
- removed automatically; you must call the
- :meth:`MathJax.Messsage.Clear()` method by hand to remove it.
-
- :Parameters:
- - **message** --- the text to display in the message area
- - **n** --- the message id number
- - **delay** --- amout of time to display the message
- :Returns: the message id nuber for this message.
-
-.. method:: Clear(n[,delay])
-
- This causes the message with id `n` to be removed after the given
- `delay`, in milliseconds. The default delay is 600 milliseconds.
-
- :Parameters:
- - **n** --- the message id number
- - **delay** --- the delay before removing the message
- :Returns: ``null``
-
-.. method:: Log()
-
- Returns a string of all the messages issued so far, separated by
- newlines. This is used in debugging MathJax operations.
-
- :Returns: string of all messages so far
diff --git a/docs/rst/api/outputjax.rst b/docs/rst/api/outputjax.rst
@@ -1,100 +0,0 @@
-.. _api-output-jax:
-
-***************************
-The MathJax.OutputJax Class
-***************************
-
-Output jax are the components of MathJax that translate
-mathematics from the MathJax internal format (an `element jax`)
-to whatever output is required to represent the mathematics (e.g.,
-MathML elements, or HTML-with-CSS that formats the mathematics on screen).
-
-An output jax is stored as a pair of files in a subdirectory of the
-the ``jax/output`` directory, with the subdirectory name being the
-name of the output jax. For example, the NativeMML output jax is
-stored in `jax/output/NativeMML`. The first file, ``config.js``, is
-loaded when MathJax is being loaded and configured, and is indicated
-by listing the input jax directory in the `jax` array of the MathJax
-configuration. The ``config.js`` file creates a subclass of the
-`MathJax.OutputJax` object for the new output jax and registers it
-with MathJax, along with the MIME-type of the element jax that it can
-process.
-
-The main body of the output jax is stored in the second file, ``jax.js``,
-which is loaded when the output jax is first called on to translate
-some mathematics. This file augments the original output jax
-subclass with the additional methods needed to produce the output.
-MathJax calls the input jax's :meth:`Translate()` method when it needs
-the output jax to translate an element jax to produce output.
-
-The `MathJax.OutputJax` class is a subclass of the :ref:`MathJax Jax
-<api-jax>` class, and inherits the properties and methods of that
-class. Those listed below are the additional or overridden ones from
-that class.
-
-
-Properties
-==========
-
-.. describe:: name
-
- The name of the jax.
-
-.. describe:: version
-
- The version number of the jax.
-
-.. describe:: directory
-
- The directory where the jax files are stored (e.g., ``"[MathJax]/jax/output/HTML-CSS"``);
-
-
-Methods
-=======
-
-.. Method:: Translate(script)
- :noindex:
-
- This is the main routine called by MathJax when an element jax is
- to be converted to output. The default :meth:`Translate()`
- method simply loads the ``jax.js`` file and returns that callback
- for that load function so that MathJax will know when to try
- the :meth:`Translate()` action again. When the ``jax.js`` file
- loads, it should override the default :meth:`Translate()` with its
- own version that does the actual translation; that way, when the
- second Translate call is made, it will be to the actual
- translation routine rather than the default loader.
-
- You should use ``MathJax.Hub.getJaxFor(script)`` to obtain the
- element jax for the given script. The translation process may add
- modify the element jax (e.g., if it has data that needs to be
- stored with the jax), and may insert DOM elements into the
- document near the jax's ``<script>`` tag.
-
- :Parameters:
- - **script** --- the ``<script>`` element to be translated
- :Returns: the `element jax` resulting from the translation
-
-.. Method:: Register(mimetype)
- :noindex:
-
- This registers the MIME-type for the element jax associated with
- this output jax so that MathJax knows to call this jax when it
- wants to display an element jax of that type. Several output jax
- may register for the same input jax, in which case the first one
- to register will be the default one for that type.
-
- :Parameters:
- - **mimetype** --- the MIME-type of the input this jax processes
- :Returns: ``null``
-
-.. Method:: Remove(jax)
- :noindex:
-
- Removes the output associated with the given element jax. The
- routine can use ``jax.SourceElement()`` to locate the ``<script>``
- tag associated with the element jax.
-
- :Parameters:
- - **jax** --- the element jax whose display should be removed
- :Returns: ``null``
diff --git a/docs/rst/community.rst b/docs/rst/community.rst
@@ -1,59 +0,0 @@
-*********************
-The MathJax Community
-*********************
-
-If you are an active MathJax user, you may wish to become involved in
-the wider community of MathJax users. The MathJax project maintains
-forums where users can ask questions about how to use MathJax, make
-suggestions about future features for MathJax, and present their own
-solutions to problems that they have faced. There is also a
-bug-traking system where you can report errors that you have found
-with MathJax in your environment.
-
-
-.. _community-forums:
-
-Forums
-======
-
-If you need help using MathJax or you have solutions you want to share, please
-use the `MathJax Users Google Group
-<http://groups.google.com/group/mathjax-users>`_. We try hard to answer
-questions quickly, and users are welcome to help with that as well. Also, users
-can post code snippets showing how they have used MathJax, so it may be a good
-place to find the examples you are looking for.
-
-If you want to discuss MathJax development, please use the `MathJax Dev Google
-Group <http://groups.google.com/group/mathjax-dev>`_. We made this group
-to discuss anything beyond what an end-user might be interested in, so if you
-having any suggestions or questions about MathJax performance, technology, or
-design, feel free to submit it to the group.
-
-The community is only as good as the users who participate, so if
-you have something to offer, please take time to make a post on one of
-our groups.
-
-
-.. _community-tracker:
-
-Issue tracking
-==============
-
-Found a bug or want to suggest an improvement? Post it to our `issue tracker
-<http://github.com/mathjax/mathjax/issues>`_. We monitor the tracker closely,
-and work hard to respond to problems quickly.
-
-Before you create a new issue, however, please search the issues to see if it
-has already been reported. You could also be using an outdated version of
-MathJax, so be sure to :ref:`upgrade your copy <getting-mathjax-svn>` to verify
-that the problem persists in the lastest version.
-
-
-.. _badge:
-
-"Powered by MathJax"
-====================
-
-If you are using MathJax and want to show your support, please consider using
-our `"Powered by MathJax" badge
-<http://www.mathjax.org/community/mathjax-badge>`_.
diff --git a/docs/rst/conf.py b/docs/rst/conf.py
@@ -1,198 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# MathJax documentation build configuration file, created by
-# sphinx-quickstart on Sun May 16 23:18:19 2010.
-#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-import sys, os
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.append(os.path.abspath('.'))
-
-# -- General configuration -----------------------------------------------------
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.pngmath']
-#extensions = ['sphinx.ext.jsmath']
-#jsmath_path = 'mathjax/MathJax.js'
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'MathJax'
-copyright = u'2010 Design Science'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '1.1'
-# The full version, including alpha/beta/rc tags.
-release = '1.1'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of documents that shouldn't be included in the build.
-#unused_docs = []
-
-# List of directories, relative to source directory, that shouldn't be searched
-# for source files.
-exclude_trees = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-#highlight_language = 'javascript'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. Major themes that come with
-# Sphinx are currently 'default' and 'sphinxdoc'.
-html_theme = 'mjtheme'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-html_theme_path = ['.']
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_use_modindex = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = ''
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'MathJaxdoc'
-
-
-# -- Options for LaTeX output --------------------------------------------------
-
-# The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
-
-# The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
-latex_documents = [
- ('index', 'MathJax.tex', u'MathJax Documentation',
- u'Davide Cervone, Casey Stark, Robert Miner, Paul Topping', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_use_modindex = True
diff --git a/docs/rst/configuration.rst b/docs/rst/configuration.rst
@@ -1,375 +0,0 @@
-.. _loading:
-
-*******************************
-Loading and Configuring MathJax
-*******************************
-
-You load MathJax into a web page by including its main JavaScript file
-into the page. That is done via a ``<script>`` tag that links to the
-``MathJax.js`` file. Place the following line in the ``<head>``
-section of your document:
-
-.. code-block:: html
-
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
-
-where ``path-to-MathJax`` is replaced by the URL of the MathJax
-directory on your server, or (if you are using MathJax locally rather
-than through a server) the location of that directory on your hard
-disk. For example, if the MathJax directory is at the top level of
-your web server's directory hierarchy, you might use
-
-.. code-block:: html
-
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
-
-to load MathJax.
-
-Although it is possible to load MathJax from a site other than your
-own web server, there are issues involved in doing so that you need to
-take into consideration. See the :ref:`Notes About Shared Servers
-<cross-domain-linking>` for more details. Please do **not** link to
-the copy of MathJax at ``www.mathjax.org``, as we do not have the
-resources to act as a web service for all the sites on the web that
-would like to display mathematics. If you are able to run MathJax
-from your own server, please do so (this will probably give you better
-response time in any case).
-
-It is best to load MathJax in the document's ``<head>`` block, but it
-is also possible to load MathJax into the ``<body>`` section, if
-needed. If you do this, load it as early as possible, as
-MathJax will begin to load its components as soon as it is included in
-the page, and that will help speed up the processing of the
-mathematics on your page. MathJax does expect there to be a
-``<head>`` section to the document, however, so be sure there is one
-if you are loading MathJax in the ``<body>``.
-
-It is also possible to load MathJax dynamically after the page has
-been prepared, for example, via a `GreaseMonkey
-<http://www.greasespot.net/>`_ script, or using a specially prepared
-`bookmarklet <http://en.wikipedia.org/wiki/Bookmarklet>`_. This is an
-advanced topic, however; see :ref:`Loading MathJax Dynamically
-<ajax-mathjax>` for more details.
-
-
-Configuring MathJax
-===================
-
-There are several ways to configure MathJax, but the easiest is to use
-the ``config/MathJax.js`` file that comes with MathJax. See the
-comments in that file, or the :ref:`configuration details
-<configuration>` section, for explanations of the meanings of the various
-configuration options. You can edit the ``config/MathJax.js`` file to
-change any of the settings that you want to customize. When you
-include MathJax in your page via
-
-.. code-block:: html
-
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
-
-it will load ``config/MathJax.js`` automatically as one of its
-first actions.
-
-Alternatively, you can configure MathJax efficiently by calling
-:meth:`MathJax.Hub.Config()` when you include MathJax in your page, as
-follows:
-
-.. code-block:: html
-
- <script type="text/javascript" src="path-to-MathJax/MathJax.js">
- MathJax.Hub.Config({
- extensions: ["tex2jax.js"],
- jax: ["input/TeX", "output/HTML-CSS"],
- tex2jax: {
- inlineMath: [ ['$','$'], ["\\(","\\)"] ],
- displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
- },
- "HTML-CSS": { availableFonts: ["TeX"] }
- });
- </script>
-
-This example includes the ``tex2jax`` preprocessor and configures it
-to use both the standard TeX and LaTeX math delimiters. It uses the
-TeX input processor and the HTML-CSS output processor, and forces the
-HTML-CSS processor to use the TeX fonts rather that other locally
-installed fonts (e.g., :term:`STIX` fonts). See the
-:ref:`configuration options <configuration>` section (or the comments
-in the ``config/MathJax.js`` file) for more information about the
-configuration options that you can include in the
-:meth:`MathJax.Hub.Config()` call. Note that if you configure MathJax
-using this in-line approach, the ``config/MathJax.js`` file is **not**
-loaded.
-
-Finally, if you would like to use several different configuration
-files (like ``config/MathJax.js``, but with different settings in each
-one), you can copy ``config/MathJax.js`` to ``config/MathJax-2.js``,
-or some other convenient name, and use
-
-.. code-block:: html
-
- <script type="text/javascript" src="path-to-MathJax/MathJax.js">
- MathJax.Hub.Config({ config: "MathJax-2.js" });
- </script>
-
-to load the alternative configuration file ``config/MathJax-2.js``
-from the MathJax ``config`` directory. In this way, you can have as
-many distinct configuration files as you need.
-
-
-.. _common-configurations:
-
-Common Configurations
-=====================
-
-The following examples show configurations that are useful for some
-common situations. This is certainly not an exhaustive list, and
-there are variations possible for any of them. Again, the comments in
-the ``config/MathJax.js`` file can help you decide what settings to
-include, even if you are using the in-line configuration method.
-
-The TeX setup
--------------
-
-This example calls the ``tex2jax`` preprocessor to identify
-mathematics in the page by looking for TeX and LaTeX math delimiters.
-It uses ``$...$`` and ``\(...\)`` for in-line mathematics, while
-``$$...$$`` and ``\[...\]`` mark displayed equations. Because dollar
-signs are used to mark mathematics, if you want to produce an actual
-dollar sign in your document, you must "escape" it using a slash:
-``\$``. This configuration also loads the ``AMSmath`` and
-``AMSsymbols`` extensions so that the macros and environments they
-provide are defined for use on the page.
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- tex2jax: {
- inlineMath: [['$','$'],["\\(","\\)"]],
- processEscapes: true,
- },
- });
-
-Other extensions that you may consider adding to the `extensions`
-array include: ``TeX/noErrors.js``, which shows the original TeX code
-if an error occurs while processing the mathematics (rather than an
-error message), ``TeX/noUndefined.js``, which shows undefined
-macros names in red (rather than producing an error), and
-``TeX/autobold.js``, which automatically inserts ``\boldsymbol{...}``
-around your mathematics when it appears in a section of your page that
-is in bold. Most of the other TeX extensions are loaded automatically
-when needed, and so do not need to be included explicitly in your
-`extensions` array.
-
-See the :ref:`tex2jax configuration <configure-tex2jax>` section for
-other configuration options for the ``tex2jax`` preprocessor, and the
-:ref:`TeX input jax configuration <configure-TeX>` section for options
-that control the TeX input processor.
-
-
-The MathML setup
-----------------
-
-This example calls the ``mml2jax`` preprocessor to identify
-mathematics in the page that is in :term:`MathML` format, which uses
-``<math display="block">`` to indicate displayed equations, and
-``<math display="inline">`` or simply ``<math>`` to mark in-line
-formulas.
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- extensions: ["mml2jax.js"],
- jax: ["input/MathML","output/HTML-CSS"]
- });
-
-Note that this will work in HTML files, not just XHTML files (MathJax
-works with both), and that the web page need not be served with any
-special MIME-type. Also note that, unless you are using XHTML rather
-than HTML, you should not include a namespace prefix for your
-``<math>`` tags; for example, you should not use ``<m:math>`` except
-in a file where you have tied the ``m`` namespace to the MathML DTD.
-
-See the :ref:`mml2jax configuration <configure-mml2jax>` section for
-other configuration options for the ``mml2jax`` preprocessor, and the
-:ref:`MathML input jax configuration <configure-MathML>` section for
-options that control the MathML input processor.
-
-
-Both TeX and MathML
--------------------
-
-This example provides for both TeX and MathML input in the same file.
-It calls on both the ``tex2jax`` and ``mml2jax`` preprocessors and the
-TeX and MathML input jax to do the job.
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- extensions: ["tex2jax.js", "mml2jax.js"],
- jax: ["input/TeX", "input/MathML", "output/HTML-CSS"],
- });
-
-Notice that no ``tex2jax`` configuration section is included, so it
-uses its default options (no single dollar signs for in-line math).
-
-The majority of the code for the TeX and MathML input processors are
-not loaded until they are actually needed by the mathematics on the
-page, so if this configuration is used on a page that include only
-MathML, the TeX input processor will not be loaded. Thus it is
-reasonably efficient to specify both input processors even if only one
-(or neither one) is used.
-
-
-TeX input with MathML output
-----------------------------
-
-This example configures MathJax to use the ``tex2jax`` preprocessor
-and TeX input processor, but the choice of output format is determined
-by MathJax depending on the capabilities of the user's browser. The
-is performed by the ``MMLorHTML.js`` configuration file that is loaded
-in the `config`` array.
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- config: ["MMLorHTML.js"],
- extensions: ["tex2jax.js"],
- jax: ["input/TeX"]
- });
-
-With this setup, Firefox or Internet Explorer with the `MathPlayer
-plugin <http://www.dessci.com/en/products/mathplayer/>`_ installed
-will use the NativeMML output processor, while all other browsers will
-use the HTML-CSS output processor. Since native MathML support is
-faster than MathJax's HTML-CSS processor, this will mean that the web
-pages will display faster for Firefox and IE than they would
-otherwise. This speed comes at the cost, however, as you are now
-relying on the native MathML support to render the mathematics, and
-that is outside of MathJax's control. There may be spacing or other
-display differences (compared to MathJax's HTML-CSS output) when the
-NativeMML output processor is used.
-
-See :ref:`MathJax Output Formats <output-formats>` for more
-information on the NativeMML and HTML-CSS output processors. See the
-:ref:`MMLorHTML configuration <configure-MMLorHTML>` section for
-details on the options that control the ``MMLorHTML`` configuration.
-
-
-MathML input and output in all browsers
----------------------------------------
-
-This example configures MathJax to look for MathML within your page,
-and to display it using the browser's native MathML support, if
-possible, or its HTML-CSS output if not.
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- config: ["MMLorHTML.js"],
- extensions: ["mml2jax.js"],
- jax: ["input/MathML"]
- });
-
-Using this configuration, MathJax finally makes MathML available in
-all modern browsers.
-
-See the :ref:`MMLorHTML configuration <configure-MMLorHTML>` section
-for details on the options that control the ``MMLorHTML``
-configuration file, the :ref:`MathML configuration <configure-MathML>`
-section for the options that control the MathML output processor, and
-the :ref:`mml2jax configuration <configure-mml2jax>` section for the
-options that control the ``mml2jax`` preprocessor.
-
-
-.. _configuration:
-
-Configuration Objects
-=====================
-
-The various components of MathJax, including its input and output
-processors, its preprocessors, its extensions, and the MathJax core,
-all can be configured through the ``config/MathJax.js`` file, or via a
-:meth:`MathJax.Hub.Config()` call (indeed, if you look closely, you
-will see that ``config/MathJax.js`` is itself one big call to
-:meth:`MathJax.Hub.Config()`). Anything that is in
-``config/MathJax.js`` can be included in-line to configure MathJax.
-
-The structure that you pass to :meth:`MathJax.Hub.Config()` is a
-JavaScript object that includes name-value pairs giving the names of
-parameters and their values, with pairs separated by commas. Be
-careful not to include a comma after the last value, however, as some
-browsers (namely Internet Explorer) will fail to process the
-configuration if you do.
-
-The MathJax components, like the TeX input processor, have their own
-sections in the configuration object, labeled by the component name,
-and using an configuration object as its value. The object is itself
-a configuration object made up of name-value pairs that give the
-configuration options for the component.
-
-For example,
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- showProcessingMessages: false,
- jax: ["input/TeX", "output/HTML-CSS"],
- TeX: {
- TagSide: "left",
- Macros: {
- RR: '{\\bf R}',
- bold: ['{\\bf #1}',1]
- }
- }
- });
-
-is a configuration that includes two settings for the MathJax Hub (one
-for `showProcessingMessages` and one of the `jax` array), and a
-configuration object for the TeX input processor. The latter includes
-a setting for the TeX input processor's `TagSide` option (to set tags
-on the left rather than the right) and a setting for `Macros`, which
-defines new TeX macros (in this case, two macros, one called ``\RR``
-that produces a bold "R", and one called ``\bold`` that puts is
-argument in bold face).
-
-The ``config/MathJax.js`` file is another example that shows nearly
-all the configuration options for all of MathJax's components.
-
-
-Configuration Options by Component
-==================================
-
-The individual options are explained in the following sections, which
-are categorized by the component they affect.
-
-.. toctree::
- :maxdepth: 1
-
- The core options <options/hub>
-
-.. toctree::
- :maxdepth: 1
-
- The tex2jax preprocessor options <options/tex2jax>
- The mml2jax preprocessor options <options/mml2jax>
- The jsMath2jax preprocessor options <options/jsMath2jax>
-
-.. toctree::
- :maxdepth: 1
-
- The TeX input processor options <options/TeX>
- The MathML input processor options <options/MathML>
- The HTML-CSS output processor options <options/HTML-CSS>
- The NativeMML output processor options <options/NativeMML>
- The MMLorHTML configuration options <options/MMLorHTML>
-
-.. toctree::
- :maxdepth: 1
-
- The MathMenu options <options/MathMenu>
- The MathZoom options <options/MathZoom>
- The FontWarnings options <options/FontWarnings>
-
-
diff --git a/docs/rst/dynamic.rst b/docs/rst/dynamic.rst
@@ -1,181 +0,0 @@
-.. _ajax-mathjax:
-
-***************************
-Loading MathJax Dynamically
-***************************
-
-MathJax is designed to be included via a ``<script>`` tag in the
-``<head>`` section of your HTML document, and it does rely on being
-part of the original document in that it uses an ``onload`` event
-handler to synchronize its actions with the loading of the page.
-If you wish to insert MathJax into a document after it has
-been loaded, that will normally occur *after* the page's ``onload``
-handler has fired, and so MathJax will not be able to tell if it is
-safe for it to process the contents of the page. Indeed, it will wait
-forever for its ``onload`` handler to fire, and so will never process
-the page.
-
-To solve this problem, you will need to call MathJax's ``onload``
-handler yourself, to let it know that it is OK to typeset the
-mathematics on the page. You accomplish this by calling the
-:meth:`MathJax.Hub.Startup.onload()` method as part of your MathJax
-startup script. To do this, you will need to give MathJax an in-line
-configuration, so you will not be able to use the
-``config/MathJax.js`` file (though you can add it to your in-line
-configuration's `config` array).
-
-Here is an example of how to load and configure MathJax dynamically:
-
-.. code-block:: javascript
-
- (function () {
- var script = document.createElement("script");
- script.type = "text/javascript";
- script.src = "/MathJax/MathJax.js"; // use the location of your MathJax
-
- var config = 'MathJax.Hub.Config({' +
- 'extensions: ["tex2jax.js"],' +
- 'jax: ["input/TeX","output/HTML-CSS"]' +
- '});' +
- 'MathJax.Hub.Startup.onload();';
-
- if (window.opera) {script.innerHTML = config}
- else {script.text = config}
-
- document.getElementsByTagName("head")[0].appendChild(script);
- })();
-
-Be sure to set the ``src`` to the correct URL for your copy of
-MathJax. You can adjust the ``config`` variable to your needs, but be
-careful to get the commas right. The ``window.opera`` test is because
-Opera doesn't handle setting ``script.text`` properly, while Internet
-Explorer doesn't handle setting the ``innerHTML`` of a script tag.
-
-Here is a version that uses the ``config/MathJax.js`` file to
-configure MathJax:
-
-.. code-block:: javascript
-
- (function () {
- var script = document.createElement("script");
- script.type = "text/javascript";
- script.src = "/MathJax/MathJax.js"; // use the location of your MathJax
-
- var config = 'MathJax.Hub.Config({ config: "MathJax.js" }); ' +
- 'MathJax.Hub.Startup.onload();';
-
- if (window.opera) {script.innerHTML = config}
- else {script.text = config}
-
- document.getElementsByTagName("head")[0].appendChild(script);
- })();
-
-Note that the **only** reliable way to configure MathJax is to use an
-in-line configuration of the type discussed above. You should **not**
-call :meth:`MathJax.Hub.Config()` directly in your code, as it will
-not run at the correct time --- it will either run too soon, in which
-case ``MathJax`` may not be defined and the function will throw an
-error, or it will run too late, after MathJax has already finished its
-configuration process, so your changes will not have the desired
-effect.
-
-
-MathJax and GreaseMonkey
-========================
-
-You can use techniques like the ones discussed above to good effect in
-GreaseMonkey scripts. There are GreaseMonkey work-alikes for all the
-major browsers:
-
-- Firefox: `GreaseMonkey <http://addons.mozilla.org/firefox/addon/748>`_
-- Safari: `GreaseKit <http://8-p.info/greasekit/>`_ (also requires `SIMBL <http://www.culater.net/software/SIMBL/SIMBL.php>`_)
-- Opera: Built-in (`instructions <http://www.ghacks.net/2008/08/10/greasemonkey-in-opera/>`_)
-- Internet Explorer: `IEPro7 <http://www.ie7pro.com/>`_
-- Chrome: Built-in for recent releases
-
-Note, however, that most browsers don't allow you to insert a script
-that loads a ``file://`` URL into a page that comes from the web (for
-security reasons). That means that you can't have your GreaseMonkey
-script load a local copy of MathJax, so you have to refer to a
-server-based copy. In the scripts below, you need to insert the URL
-of a copy of MathJax from your own server.
-
-----
-
-Here is a script that runs MathJax in any document that contains
-MathML (whether its includes MathJax or not). That allows
-browsers that don't have native MathML support to view any web pages
-with MathML, even if they say it only works in Forefox and
-IE+MathPlayer.
-
-.. code-block:: javascript
-
- // ==UserScript==
- // @name MathJax MathML
- // @namespace http://www.mathjax.org/
- // @description Insert MathJax into pages containing MathML
- // @include *
- // ==/UserScript==
-
- if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
- if ((document.getElementsByTagName("math").length > 0) ||
- (document.getElementsByTagNameNS == null ? false :
- (document.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math").length > 0))) {
- var script = document.createElement("script");
- script.src = "http://www.yoursite.edu/MathJax/MathJax.js"; // put your URL here
- var config = 'MathJax.Hub.Config({' +
- 'extensions:["mml2jax.js"],' +
- 'jax:["input/MathML","output/HTML-CSS"]' +
- '});' +
- 'MathJax.Hub.Startup.onload()';
- if (window.opera) {script.innerHTML = config} else {script.text = config}
- document.getElementsByTagName("head")[0].appendChild(script);
- }
- }
-
-**Source**: `mathjax_mathml.user.js <_statis/mathjax_mathml.user.js>`_
-
-----
-
-Here is a script that runs MathJax in Wikipedia pages after first
-converting the math images to their original TeX code.
-
-.. code-block:: javascript
-
- // ==UserScript==
- // @name MathJax in Wikipedia
- // @namespace http://www.mathjax.org/
- // @description Insert MathJax into Wikipedia pages
- // @include http://en.wikipedia.org/wiki/*
- // ==/UserScript==
-
- if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
- //
- // Replace the images with MathJax scripts of type math/tex
- //
- var images = document.getElementsByTagName('img');
- for (var i = images.length - 1; i >= 0; i--) {
- var img = images[i];
- if (img.className === "tex") {
- var script = document.createElement("script"); script.type = "math/tex";
- if (window.opera) {script.innerHTML = img.alt} else {script.text = img.alt}
- img.parentNode.replaceChild(script,img);
- }
- }
- //
- // Load MathJax and have it process the page
- //
- var script = document.createElement("script");
- script.src = "http://www.yoursite.edu/MathJax/MathJax.js"; // put your URL here
- var config = 'MathJax.Hub.Config({' +
- 'config: ["MMLorHTML.js"],' +
- 'extensions:["TeX/noErrors.js","TeX/noUndefined.js",' +
- '"TeX/AMSmath.js","TeX/AMSsymbols.js"],' +
- 'jax:["input/TeX"]' +
- '});' +
- 'MathJax.Hub.Startup.onload()';
- if (window.opera) {script.innerHTML = config} else {script.text = config}
- document.getElementsByTagName("head")[0].appendChild(script);
- }
-
-**Source**: `mathjax_wikipedia.user.js <_statis/mathjax_wikipedia.user.js>`_
diff --git a/docs/rst/index.rst b/docs/rst/index.rst
@@ -1,71 +0,0 @@
-#####################
-MathJax Documentation
-#####################
-
-MathJax is an open-source JavaScript display engine for LaTeX and
-MathML that works in all modern browsers.
-
-Basic Usage
-===========
-
-.. toctree::
- :maxdepth: 1
-
- What is MathJax? <mathjax>
- Getting Started with MathJax <start>
- Installing and Testing MathJax <installation>
- Loading and Configuring MathJax <configuration>
- Using MathJax in Web Platforms <platforms/index>
-
-.. toctree::
- :maxdepth: 1
-
- MathJax TeX and LaTeX Support <tex>
- MathJax MathML Support <mathml>
- MathJax Output Formats <output>
-
-.. toctree::
- :maxdepth: 1
-
- The MathJax Community <community>
-
-
-.. _advanced-topics:
-
-Advanced Topics
-===============
-
-.. toctree::
- :maxdepth: 1
-
- The MathJax Processing Model <model>
- The MathJax Startup Sequence <startup>
- Synchronizing Your Code with MathJax <synchronize>
- Loading MathJax Dynamically <dynamic>
- Modifying Math on the Page <typeset>
-
-.. toctree::
- :maxdepth: 1
-
- Details of the MathJax API<api/index>
-
-.. toctree::
- :maxdepth: 1
-
- Converting to MathJax from jsMath <jsMath>
-
-Reference Pages
-===============
-
-.. toctree::
- :maxdepth: 1
-
- HTML snippets <HTML-snippets>
- CSS style objects <CSS-styles>
- Glossary <glossary>
-
-* :ref:`Search <search>`
-
---------
-
-This version of the documentation was built |today|.
diff --git a/docs/rst/installation.rst b/docs/rst/installation.rst
@@ -1,254 +0,0 @@
-.. _installation:
-
-******************************
-Installing and Testing MathJax
-******************************
-
-MathJax can be loaded from a public web server or privately from your hard drive
-or other local media. To use MathJax in either way, you will need to obtain a
-copy of MathJax and its font package. There are three ways to do this: via
-``git``, ``svn``, or via a pre-packaged archive. We recommend git or svn, as it
-is easier to keep your installation up to date with these tools.
-
-
-.. _getting-mathjax-git:
-
-Obtaining MathJax via Git
-=========================
-
-The easiest way to get MathJax and keep it up to date is to use the `Git
-<http://git-scm.com/>`_ version control system to access our `GitHub repository
-<http://github.com/mathjax/mathjax>`_. Use the commands
-
-.. code-block:: sh
-
- git clone git://github.com/mathjax/MathJax.git mathjax
-
-to obtain and set up a copy of MathJax. Note that there is no longer
-a ``fonts.zip`` file, and that the ``fonts`` directory is now part of
-the repository itself.
-
-Whenever you want to update MathJax, you can now use
-
-.. code-block:: sh
-
- cd mathjax
- git remote show origin
-
-to check if there are updates to MathJax (this will print several
-lines of data, but the last line should tell you if your copy is up to
-date or out of date). If MathJax needs updating, use
-
-.. code-block:: sh
-
- cd mathjax
- git pull origin
-
-to udpate your copy of MathJax to the current release version. If you
-keep MathJax updated in this way, you will be sure that you have the
-latest bug fixes and new features as they become available.
-
-This gets you the current development copy of MathJax, which is the
-"bleeding-edge" version that contains all the latest changes to
-MathJax. At times, however, these may be less stable than the
-"release" version. If you prefer to use the most stable version (that
-may not include all the latest patches and features), use ``git tag
--l`` to see all versions and use ``git checkout <tag_name>`` to
-checkout that version of MathJax. When you want to upgrade to a new
-release, you will need to repeat this for the latest release tag.
-
-
-.. _getting-mathjax-svn:
-
-Obtaining MathJax via SVN
-=========================
-
-If you are more comfortable with the `subversion
-<http://subversion.apache.org/>`_ source control system, you may want
-to use GitHub's ``svn`` service to obtain MathJax. If you want to get the
-latest revision using ``svn``, use the commands
-
-.. code-block:: sh
-
- svn checkout http://svn.github.com/mathjax/MathJax.git mathjax
-
-to obtain and set up a copy of MathJax. Note that there is no longer
-a ``fonts.zip`` file, and that the ``fonts`` directory is now part of
-the repository itself.
-
-Whenever you want to update MathJax, you can now use
-
-.. code-block:: sh
-
- cd mathjax
- svn status -u
-
-to check if there are updates to MathJax. If MathJax needs updating,
-use
-
-.. code-block:: sh
-
- cd mathjax
- svn update
-
-to udpate your copy of MathJax to the current release version. If you
-keep MathJax updated in this way, you will be sure that you have the
-latest bug fixes and new features as they become available.
-
-This gets you the current development copy of MathJax, which is the
-"bleeding-edge" version that contains all the latest changes to
-MathJax. At times, however, these may be less stable than the
-"release" version. If you prefer to use one of the tagged releases
-instead, then either use ``git`` as described above, or one of the
-archive files as described below. You can use
-
-.. code-block:: sh
-
- svn checkout http://svn.github.com/mathjax/MathJax.git@nnn mathjax
-
-to check out revision number `nnn`, but it is not easy to tell what
-svn revision number is associated with a particular release. GitHub's
-``svn`` service doesn't appear to allow you to sepecify a particular
-tagged version.
-
-
-.. _getting-mathjax-zip:
-
-Obtaining MathJax via an archive
-================================
-
-Release versions of MathJax are available in archive files from the
-`MathJax download page <http://www.mathjax.org/download/>`_ or the
-`GitHub downloads <http://github.com/mathjax/mathjax/>`_ (click the
-big download button on the right), where you can download the archive
-that you need.
-
-You should download the v1.1 archive (which will get you a file with a
-name like ``mathjax-MathJax-v1.1-X-XXXXXXXX.zip``, where the X's are
-some sequence of random-looking letters and numbers), then simply unzip
-it. Once the MathJax directory is unpacked, you should move it to the
-desired location on your server (or your hard disk, if you are using
-it locally rather then through a web server). One natural location is
-to put it at the top level of your web server's hierarchy. That would
-let you refer to the main MathJax file as ``/MathJax/MathJax.js`` from
-within any page on your server.
-
-From the `MathJax GitHub download link
-<http://github.com/mathjax/mathjax/>`_ (the big download button at the
-right), you can also select the ``Download .tar.gz`` or ``Download
-.zip`` buttons to get a copy of the current "bleeding-edge" version of
-MathJax that contains all the latest changes and bug-fixes.
-
-
-Testing your installation
-=========================
-
-Use the HTML files in the ``test`` directory to see if your
-installation is working properly::
-
- test/
- index.html # Tests default configuration
- index-images.html # Tests image-font fallback display
- sample.html # Sample page with lots of pretty equations
-
-Open these files in your browser to see that they appear to be working
-properly. If you have installed MathJax on a server, use the web
-address for those files rather than opening them locally. When you
-view the ``index.html`` file, you should see (after a few moments) a
-message that MathJax appears to be working. If not, you should check
-that the files have been transferred to the server completely, that
-the fonts archive has been unpacked in the correct location, and that
-the permissions allow the server to access the files and folders that
-are part of the MathJax directory (be sure to verify the MathJax
-folder's permissions as well). Checking the server logs may help
-locate problems with the installation.
-
-
-.. _cross-domain-linking:
-
-Notes about shared installations
-================================
-
-Typically, you want to have MathJax installed on the same server as
-your web pages that use MathJax. There are times, however, when that
-may be impractical, or when you want to use a MathJax installation at
-a different site. For example, a departmental server at
-``www.math.yourcollege.edu`` might like to use a college-wide
-installation at ``www.yourcollege.edu`` rather than installing a
-separate copy on the departmental machine. MathJax can certainly
-be loaded from another server, but there is one imporant caveat ---
-Firefox's same-origin security policy for cross-domain scripting.
-
-Firefox’s interpretation of the same-origin policy is more strict than
-most other browsers, and it affects how fonts are loaded with the
-`@font-face` CSS directive. MathJax uses this directive to load
-web-based math fonts into a page when the user doesn't have them
-installed locally on their own computer. Firefox's security policy,
-however, only allows this when the fonts come from the same server as
-the web page itself, so if you load MathJax (and hence its web fonts)
-from a different server, Firefox won't be able to access those web
-fonts. In this case, MathJax will pause while waiting for the font to
-download (which will never happen) and will time out after about 15
-seconds for each font it tries to access. Typically that is three or
-four fonts, so your Firefox users will experience a minute or so
-delay before mathematics is displayed, and then it will probably
-display incorrectly because the browser doesn't have access to the
-correct fonts.
-
-There is a solution to this, however, if you manage the server where
-MathJax is installed, and if that server is running the `Apache web
-server <http://www.apache.org/>`_. In the remote server's
-``MathJax/fonts/HTML-CSS/TeX/otf`` folder, create a file called
-``.htaccess`` that contains the following lines: ::
-
- <FilesMatch "\.(ttf|otf|eot)$">
- <IfModule mod_headers.c>
- Header set Access-Control-Allow-Origin "*"
- </IfModule>
- </FilesMatch>
-
-and make sure the permissions allow the server to read this file.
-(The file's name starts with a period, which causes it to be an
-"invisible" file on unix-based operating systems. Some systems,
-particularly graphic user interfaces, may not allow you to create such
-files, so you might need to use the command-line interface to
-accomplish this.)
-
-This file should make it possible for pages at other sites to load
-MathJax from this server in such a way that Firefox will be able to
-download the web-based fonts. If you want to restrict the sites that
-can access the web fonts, change the ``Access-Control-Allow-Origin``
-line to something like::
-
- Header set Access-Control-Allow-Origin "http://www.math.yourcollege.edu"
-
-so that only pages at ``www.math.yourcollege.edu`` will be able to
-download the fonts from this site. See the open font library
-discussion of `web-font linking
-<http://openfontlibrary.org/wiki/Web_Font_linking_and_Cross-Origin_Resource_Sharing>`_
-for more details.
-
-
-.. _ff-local-fonts:
-
-Forefox and Local Fonts
-=======================
-
-Firefox's same-origin security policy affects its ability to load
-web-based fonts, as described above. This has implications not only
-to cross-domain loading of MathJax, but also to using MathJax locally
-from your hard disk. Firefox's interpretation of the same-origin
-policy for local files is that the "same domain" for a page is the
-directory where that page exists, or any of its subdirectories. So if
-you use MathJax in a page with a ``file://`` URL, and if MathJax is
-loaded from a diretory other than the one containing the original
-page, then MathJax will not be able to access the web-based fonts in
-Firefox. In that case, MathJax will fall back on image fonts to
-display the mathematics.
-
-In order for Firefox to be able to load the fonts properly for a local
-file, your MathJax installation must be in a subdirectory of the one
-containing the page that uses MathJax. This is an unfortunate
-restriction, but it is a limitiation imposed by Firefox's security
-model that MathJax can not circumvent. Currently, this is not a
-problem for other browsers.
diff --git a/docs/rst/jsMath.rst b/docs/rst/jsMath.rst
@@ -1,31 +0,0 @@
-.. _jsMath-support:
-
-*********************************
-Converting to MathJax from jsMath
-*********************************
-
-MathJax is the successor to the popular `jsMath
-<http://www.math.union.edu/locate/jsMath/>`_ package for rendering
-mathematics in web pages. Like jsMath, MathJax works by locating and
-processing the mathematics within the webpage once it has been loaded
-in the browser by a user viewing your web pages. If you are using
-jsMath with its ``tex2math`` preprocessor, then switching to MathJax
-should be easy, and is simply a matter of configuring MathJax
-appropriately. See the section on :ref:`Configuring MathJax
-<configuration>` for details about loading and configuring MathJax.
-
-On the other hand, if you are using jsMath's ``<span
-class="math">...</span>`` and ``<div class="math">...</div>`` tags to
-mark the mathematics in your document, then you should use MathJax's
-``jsMath2jax`` preprocessor when you switch to MathJax. To do this,
-include ``"jsMath2jax.js"`` in the `extensions` array of your
-configuration, with the `jax` array set to include ``"input/TeX"``.
-
-.. code-block:: javascript
-
- extensions: ["jsMath2jax.js"],
- jax: ["input/TeX", ...]
-
-There are a few configuration options for ``jsMath2jax``, which you
-can find in the ``config/MathJax.js`` file, or in the :ref:`jsMath
-configuration options <configure-jsMath2jax>` section.
diff --git a/docs/rst/mathml.rst b/docs/rst/mathml.rst
@@ -1,97 +0,0 @@
-.. _MathML-support:
-
-**********************
-MathJax MathML Support
-**********************
-
-The support for :term:`MathML` in MathJax consists of three parts: the
-`mml2jax` preprocessor, the MathML input processor, and the NativeMML
-output processor. The first of these looks for ``<math>`` tags within
-your document and marks them for later processing by MathJax. The
-second converts the MathML to the internal format used by MathJax, and
-the third turns the internal format into MathML within the page so
-that it can be displayed by the browser's native MathML support.
-
-Because of MathJax's modular design, you do not need to use all three
-of these components. For example, you could use the `tex2jax`
-preprocessor and the TeX input processor, but the NativeMML output
-processor, so that your mathematics is entered in TeX format, but
-displayed as MathML. Or you could use the `mml2jax` reprocessor and
-MathML input processor with the HTML-CSS output processor to make
-MathML available in browsers that don't have native MathML support.
-It is also possible to have MathJax select the output processor for
-you so that MathML is used in those browsers that support it, while
-HTML-CSS is used for those that don't. See the :ref:`common
-configurations <common-configurations>` section for details and
-examples.
-
-Of course it is also possible to use all three components together.
-It may seem strange to go through an internal format just to return to
-MathML in the end, but this is actually what makes it possible to view
-MathML within an HTML page (rather than an XHTML page), without
-the complications of handling special MIME-types for the document, or
-any of the other setup issues that make using native MathML
-difficult. MathJax handles the setup and properly marks the
-mathematics so that the browser will render it as MathML. In
-addition, MathJax provides its contextual menu for the MathML, which
-lets the user zoom the mathematics for easier reading, get the copy
-the source markup, and so on, so there is added value to using MathJax
-even whith a pure MathML workflow.
-
-
-MathML in HTML pages
-====================
-
-For MathML that is handled via the pre-processor, you should not use
-the named MathML entities, but rather use the numeric entities like
-``√`` or unicode characters embedded in the page itself. The
-reason is that entities are replaced by the browser before MathJax
-runs, and some browsers report errors for unknown entities. For
-browsers that are not MathML-aware, that will cause errors to be
-displayed for the MathML entities. While that might not occur in the
-browser you are using to compose your pages, it can happen with other
-browsers, so you should avoid the named entities whenever possible.
-If you must use named entities, you may need to declare them in the
-`DOCTYPE` declaration by hand.
-
-When you use MathML in an HTML document rather than an XHTML one
-(MathJax will work woth both), you should not use the "self-closing"
-form for tags with no content, but should use separate open and close
-tags. That is, use
-
-.. code-block:: html
-
- <mspace width="thinmathspace"></mspace>
-
-rather than ``<mspace width="thinmathspace />``. This is because HTML
-does not have self-closing tags, and some browsers will get the
-nesting of tags wrong if you attempt to use them. For example, with
-``<mspace width="1em" />``, since there is no closing tag, the rest of
-the mathematics will become the content of the ``<mspace>`` tag; but
-since ``<mspace>`` should have no content, the rest of the mathematics
-will not be displayed. This is a common error that should be avoided.
-
-
-Supported MathML commands
-=========================
-
-MathJax supports the `MathML3.0 <http://www.w3.org/TR/MathML3/>`_
-presentation mathematics tags, with some limitations. The MathML
-support is still under active development, so some tags are not yet
-implemented, and some features are not fully developed, but are
-coming.
-
-The deficiencies include:
-
-- No support for the elementary math tags: ``mstack``, ``mlongdiv``,
- ``msgroup``, ``msrow``, ``mscarries``, and ``mscarry``.
-
-- Limited support for line breaking (they are only allowed in direct
- children of ``mrow`` or implied ``mrow`` elements.
-
-- No support for alignment groups in table.
-
-- No support for right-to-left rendering.
-
-See the `results of the MathML3.0 test suite
-<http://www.w3.org/Math/testsuite/results/tests.html>`_ for details.
diff --git a/docs/rst/mjtheme/static/mj.css_t b/docs/rst/mjtheme/static/mj.css_t
@@ -1,256 +0,0 @@
-/**
- * Sphinx stylesheet -- default theme
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- */
-
-@import url("basic.css");
-
-/* -- page layout ----------------------------------------------------------- */
-
-body {
- font-family: {{ theme_bodyfont }};
- font-size: 100%;
- background-color: {{ theme_footerbgcolor }};
- color: #000;
- margin: 0;
- padding: 0;
-}
-
-div.document {
- background-color: {{ theme_sidebarbgcolor }};
-}
-
-div.documentwrapper {
- float: left;
- width: 100%;
-}
-
-div.bodywrapper {
- margin: 0 0 0 230px;
-}
-
-div.body {
- background-color: {{ theme_bgcolor }};
- color: {{ theme_textcolor }};
- padding: 0 20px 30px 20px;
-}
-
-{%- if theme_rightsidebar|tobool %}
-div.bodywrapper {
- margin: 0 230px 0 0;
-}
-{%- endif %}
-
-div.footer {
- color: {{ theme_footertextcolor }};
- width: 100%;
- padding: 9px 0 9px 0;
- text-align: center;
- font-size: 75%;
-}
-
-div.footer a {
- color: {{ theme_footertextcolor }};
- text-decoration: underline;
-}
-
-div.related {
- background-color: {{ theme_relbarbgcolor }};
- line-height: 30px;
- color: {{ theme_relbartextcolor }};
-}
-
-div.related a {
- color: {{ theme_relbarlinkcolor }};
-}
-
-div.sphinxsidebar {
- {%- if theme_stickysidebar|tobool %}
- top: 30px;
- margin: 0;
- position: fixed;
- overflow: auto;
- height: 100%;
- {%- endif %}
- {%- if theme_rightsidebar|tobool %}
- float: right;
- {%- if theme_stickysidebar|tobool %}
- right: 0;
- {%- endif %}
- {%- endif %}
-}
-
-{%- if theme_stickysidebar|tobool %}
-/* this is nice, but it it leads to hidden headings when jumping
- to an anchor */
-/*
-div.related {
- position: fixed;
-}
-
-div.documentwrapper {
- margin-top: 30px;
-}
-*/
-{%- endif %}
-
-div.sphinxsidebar h3 {
- font-family: {{ theme_headfont }};
- color: {{ theme_sidebartextcolor }};
- font-size: 1.4em;
- font-weight: normal;
- margin: 0;
- padding: 0;
-}
-
-div.sphinxsidebar h3 a {
- color: {{ theme_sidebartextcolor }};
-}
-
-div.sphinxsidebar h4 {
- font-family: {{ theme_headfont }};
- color: {{ theme_sidebartextcolor }};
- font-size: 1.3em;
- font-weight: normal;
- margin: 5px 0 0 0;
- padding: 0;
-}
-
-div.sphinxsidebar p {
- color: {{ theme_sidebartextcolor }};
-}
-
-div.sphinxsidebar p.topless {
- margin: 5px 10px 10px 10px;
-}
-
-div.sphinxsidebar ul {
- margin: 10px;
- padding: 0;
- color: {{ theme_sidebartextcolor }};
-}
-
-div.sphinxsidebar ul li {
- margin-top: .2em;
-}
-
-div.sphinxsidebar a {
- color: {{ theme_sidebarlinkcolor }};
-}
-
-div.sphinxsidebar input {
- border: 1px solid {{ theme_sidebarlinkcolor }};
- font-family: sans-serif;
- font-size: 1em;
-}
-
-/* -- body styles ----------------------------------------------------------- */
-
-a {
- color: {{ theme_linkcolor }};
- text-decoration: none;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-div.body p, div.body dd, div.body li {
- text-align: justify;
- line-height: 130%;
-}
-
-div.body h1,
-div.body h2,
-div.body h3,
-div.body h4,
-div.body h5,
-div.body h6 {
- font-family: {{ theme_headfont }};
- background-color: {{ theme_headbgcolor }};
- font-weight: normal;
- color: {{ theme_headtextcolor }};
- border-top: 1px solid {{ theme_headbordercolor }};
- border-bottom: 2px solid {{ theme_headbordercolor }};
- margin: 30px -20px 20px -20px;
- padding: 3px 0 3px 10px;
-}
-
-div.body h1 { margin-top: 0; font-size: 200%; }
-div.body h2 { font-size: 160%; }
-div.body h3 { font-size: 140%; padding-left: 20px; }
-div.body h4 { font-size: 120%; padding-left: 20px; }
-div.body h5 { font-size: 110%; padding-left: 20px; }
-div.body h6 { font-size: 100%; padding-left: 20px; }
-
-a.headerlink {
- color: {{ theme_headlinkcolor }};
- font-size: 0.8em;
- padding: 0 4px 0 4px;
- text-decoration: none;
-}
-
-a.headerlink:hover {
- background-color: {{ theme_headlinkcolor }};
- color: white;
-}
-
-div.body p, div.body dd, div.body li {
- text-align: justify;
- line-height: 130%;
-}
-
-div.admonition p.admonition-title + p {
- display: inline;
-}
-
-div.note {
- background-color: #eee;
- border: 1px solid #ccc;
-}
-
-div.seealso {
- background-color: #ffc;
- border: 1px solid #ff6;
-}
-
-div.topic {
- background-color: #eee;
-}
-
-div.warning {
- background-color: #ffe4e4;
- border: 1px solid #f66;
-}
-
-p.admonition-title {
- display: inline;
-}
-
-p.admonition-title:after {
- content: ":";
-}
-
-pre {
- padding: 5px;
- background-color: {{ theme_codebgcolor }};
- color: {{ theme_codetextcolor }};
- line-height: 130%;
- border: 2px solid {{ theme_codebordercolor }};
- border-left: none;
- border-right: none;
-}
-
-tt {
- background-color: #ecf0f3;
- padding: 0 1px 0 1px;
-/* font-size: 0.95em;*/
-}
-
-.warning tt {
- background: #efc2c2;
-}
-
-.note tt {
- background: #d6d6d6;
-}
diff --git a/docs/rst/model.rst b/docs/rst/model.rst
@@ -1,224 +0,0 @@
-****************************
-The MathJax Processing Model
-****************************
-
-The purpose of MathJax is to bring the ability to include mathematics
-easily in web pages to as wide a range of browsers as possible.
-Authors can specify mathematics in a variety of formats (e.g.,
-:term:`MathML` or :term:`LaTeX`), and MathJax provides high-quality
-mathematical typesetting even in those browsers that do not have
-native MathML support. This all happens without the need for special
-downloads or plugins, but rendering will be enhanced if high-quality
-math fonts (e.g., :term:`STIX`) are available to the browser.
-
-MathJax is broken into several different kinds of components: page
-preprocessors, input processors, output processors, and the MathJax
-Hub that organizes and connects the others. The input and output
-processors are called :term:`jax`, and are described in more detail
-below.
-
-When MathJax runs, it looks through the page for special tags that
-hold mathematics; for each such tag, it locates an appropriate input
-jax which it uses to convert the mathematics into an internal form
-(called an element jax), and then calls an output jax to transform the
-internal format into HTML content that displays the mathematics within
-the page. The page author configures MathJax by indicating which
-input and output jax are to be used.
-
-Often, and especially with pages that are authored by hand, the
-mathematics is not stored (initially) within the special tags needed
-by MathJax, as that would require more notation than the average page
-author is willing to type. Instead, it is entered in a form that is
-more natural to the page author, for example, using the standard TeX
-math delimiters ``$...$`` and ``$$...$$`` to indicate what part of the
-document is to be typeset as mathematics. In this case, MathJax can
-run a preprocessor to locate the math delimiters and replace them by
-the special tags that it uses to mark the formulas. There are
-preprocessors for :ref:`TeX notation <TeX-support>`, :ref:`MathML
-notation <MathML-support>`, and the :ref:`jsMath notation
-<jsMath-support>` that uses `span` and `div` tags.
-
-For pages that are constructed programatically, such as HTML
-pages that result from running a processor on text in some other
-format (e.g., pages produced from Markdown documents, or via programs
-like `tex4ht`), it would be best to use MathJax's special tags
-directly, as described below, rather than having MathJax run
-another preprocessor. This will speed up the final display of the
-mathematics, since the extra preprocessing step would not be needed,
-and it also avoids the conflict between the use of the less-than sign,
-``<``, in mathematics and asn an HTML special character (that starts
-an HTML tag).
-
-
-How mathematics is stored in the page
-=====================================
-
-In order to identify mathematics in the page, MathJax uses special
-``<script>`` tags to enclose the mathematics. This is done because
-such tags can be located easily, and because their content is not
-further processed by the browser; for example, less-than signs can be
-used as they are in mathematics, without worrying about them being
-mistaken for the beginnings of HTML tags. One may also consider the
-math notation as a form of "script" for the mathematics, so a
-``<script>`` tag makes at least some sense for storing the math.
-
-Each ``<script>`` tag has a ``type`` attribute that identifies the
-kind of script that the tag contains. The usual (and default) value
-is ``type="text/javascript"``, and when a script has this type, the
-browser executes the script as a javascript program. MathJax,
-however, uses the type `math/tex` to identify mathematics in the TeX
-and LaTeX notation, and `math/mml` for mathematics in MathML
-notation. When the `tex2jax` or `mml2jax` preprocessors run, they
-create ``<script>`` tags with these types so that MathJax can process
-them when it runs its main typesetting pass.
-
-For example,
-
-.. code-block:: html
-
- <script type="math/tex">x+\sqrt{1-x^2}</script>
-
-represents an in-line equation in TeX notation, and
-
-.. code-block:: html
-
- <script type="math/tex; mode=display">
- \sum_{n=1}^\infty {1\over n^2} = {\pi^2\over 6}
- </script>
-
-is a displayed TeX equation.
-
-Alternatively, using MathML notation, you could use
-
-.. code-block:: html
-
- <script type="math/mml">
- <math>
- <mi>x</mi>
- <mo>+</mo>
- <msqrt>
- <mn>1</mn>
- <mo>−<!-- − --></mo>
- <msup>
- <mi>x</mi>
- <mn>2</mn>
- </msup>
- </msqrt>
- </math>
- </script>
-
-for in-line math, or
-
-.. code-block:: html
-
- <script type="math/mml">
- <math display="block">
- <mrow>
- <munderover>
- <mo>∑<!-- ∑ --></mo>
- <mrow>
- <mi>n</mi>
- <mo>=</mo>
- <mn>1</mn>
- </mrow>
- <mi mathvariant="normal">∞<!-- ∞ --></mi>
- </munderover>
- </mrow>
- <mrow>
- <mfrac>
- <mn>1</mn>
- <msup>
- <mi>n</mi>
- <mn>2</mn>
- </msup>
- </mfrac>
- </mrow>
- <mo>=</mo>
- <mrow>
- <mfrac>
- <msup>
- <mi>π<!-- Ï€ --></mi>
- <mn>2</mn>
- </msup>
- <mn>6</mn>
- </mfrac>
- </mrow>
- </math>
- </script>
-
-for displayed equations in MathML notation.
-As other input jax are created, they will use other types to identify
-the mathematics they can process.
-
-Page authors can use one of MathJax's preprocessors to convert from
-math delimiters that are more natural for the author to type (e.g.,
-TeX math delimiters like ``$$...$$``) to MathJax's ``<script>``
-format. Blog and wiki software could extend from their own markup
-languages to include math delimiters, which they could convert to
-MathJax's ``<script>`` format automatically.
-
-Note, however, that Internet Explorer has a bug that causes it to
-remove the space before a ``<script>`` tag if there is also a space
-after it, which can cause serious spacing problems with in-line math
-in Internet Explorer. There are three possible solutions to this in
-MathJax. The recommended way is to use a math preview (an element
-with class ``MathJax_Preview``) that is non-empty and comes right
-before the ``<script>`` tag. Its contents can be just the word
-``[math]``, so it does not have to be specific to the mathematics
-script that follows; it just has to be non-empty (though it could have
-its style set to ``display:none``). See also the ``preJax`` and
-``postJax`` options in the :ref:`Core Configuration Options
-<configure-hub>` document for another approach.
-
-
-The components of MathJax
-=========================
-
-The main components of MathJax are its preprocessors, its input and
-output jax, and the MathJax Hub, which coordinates the actions of the
-other components.
-
-**Input jax** are associated with the different script types (like
-:mimetype:`math/tex` or :mimetype:`math/mml`) and the mapping of a
-particular type to a particular jax is made when the various jax
-register their abilities with the MathJax Hub at configuration time.
-For example, the MathML input jax registers the :mimetype:`math/mml`
-type, so MathJax will know to call the MathML input jax when it sees
-math elements of that type. The role of the input jax is to convert
-the math notation entered by the author into the internal format used
-by MathJax (called an `element jax`). This internal format is
-essentially MathML (represented as JavaScript objects), so an input
-jax acts as a translator into MathML.
-
-**Output jax** convert that internal element jax format into a specific
-output format. For example, the NativeMML output jax inserts MathML
-tags into the page to represent the mathematics, while the HTML-CSS
-output jax uses HTML with CSS styling to lay out the mathematics so
-that it can be displayed even in browsers that dont understand
-MathML. Output jax could be produced that render the mathematics
-using SVG, for example, or that speak an equation for the blind
-users. The MathJax contextual menu can be used to switch between the
-output jax that are available.
-
-Each input and output jax has a small configuration file that is
-loaded when that input jax is included in the `jax` array in the
-MathJax configuration, and a larger file that implements the core
-functionality of that particular jax. The latter file is loaded
-when the first time the jax is needed by MathJax to process some
-mathematics.
-
-The **MathJax Hub** keeps track of the internal representations of the
-various mathematical equations on the page, and can be queried to
-obtain information about those equations. For example, one can obtain
-a list of all the math elements on the page, or look up a particular
-one, or find all the elements with a given input format, and so on.
-In a dynamically generated web page, an equation where the source
-mathematics has changed can be asked to re-render itself, or if a new
-paragraph is generated that might include mathematics, MathJax can be
-asked to process the equations it contains.
-
-The Hub also manages issues concerning mouse events and other user
-interaction with the equation itself. Parts of equations can be made
-active so that mouse clicks cause event handlers to run, or activate
-hyperlinks to other pages, and so on, making the mathematics as
-dynamic as the rest of the page.
diff --git a/docs/rst/options/HTML-CSS.rst b/docs/rst/options/HTML-CSS.rst
@@ -1,119 +0,0 @@
-.. _configure-HTML-CSS:
-
-*****************************
-The HTML-CSS output processor
-*****************************
-
-The options below control the operation of the HTML-CSS output
-processor that is run when you include ``"output/HTML-CSS"`` in the
-`jax` array of your configuration. They are listed with their default
-values. To set any of these options, include a ``"HTML-CSS"`` section
-in your :meth:`MathJax.Hub.Config()` call. Note that, because of the
-dash, you need to enclose the name in quotes. For example
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- "HTML-CSS": {
- preferredFont: "STIX"
- }
- });
-
-would set the ``preferredFont`` option to the :term:`STIX` fonts.
-
-.. describe:: scale: 100
-
- The scaling factor (as a percentage) of math with respect to the
- surrounding text. The `HTML-CSS` output processor tries to match
- the en-size of the mathematics with that of the text where it is
- placed, but you may want to adjust the results using this scaling
- factor. The user can also adjust this value using the contextual
- menu item associated with the typeset mathematics.
-
-.. describe:: availableFonts: ["STIX","TeX"]
-
- This is a list of the fonts to look for on a user's computer in
- preference to using MathJax's web-based fonts. These must
- correspond to directories available in the
- ``jax/output/HTML-CSS/fonts`` directory, where MathJax stores data
- about the characters available in the fonts. Set this to
- ``["TeX"]``, for example, to prevent the use of the :term:`STIX`
- fonts, or set it to an empty list, `[]`, if you want to force
- MathJax to use web-based or image fonts.
-
-.. describe:: preferredFont: "TeX"
-
- Which font to prefer out of the ``availableFonts`` list, when more
- than one is available on the user's computer.
-
-.. describe:: webFont: "TeX"
-
- This is the web-based font to use when none of the fonts listed
- above are available on the user's computer. Note that currently
- only the `TeX` font is available in a web-based form (they are
- stored in the ``fonts/HTML-CSS`` folder in the MathJax directory.
- Set this to ``null`` to disable web fonts.
-
-.. describe:: imageFont: "TeX"
-
- This is the font to use for image fallback mode (when none of the
- fonts listed above are available and the browser doesn't support
- web-fonts via the ``@font-face`` CSS directive). Note that currently
- only the TeX font is available as an image font (they are stores
- in the ``fonts/HTML-CSS`` directory).
-
- Set this to ``null`` if you want to prevent the use of image fonts
- (e.g., you have deleted or not installed the image fonts on your
- server). In this case, only browsers that support web-based fonts
- will be able to view your pages without having the fonts installed
- on the client computer. The browsers that support web-based fonts
- include: IE6 and later, Chrome, Safari3.1 and above, Firefox3.5
- and later, and Opera10 and later. Note that Firefox3.0 is **not**
- on this list.
-
-.. describe:: styles: {}
-
- This is a list of CSS declarations for styling the HTML-CSS
- output. See the definitions in ``jax/output/HTML-CSS/config.js``
- for some examples of what are defined by default. See :ref:`CSS
- Style Objects <css-style-objects>` for details on how to specify
- CSS style in a JavaScript object.
-
-.. describe:: showMathMenu: true
-
- This controls whether the MathJax contextual menu will be
- available on the mathematics in the page. If true, then
- right-clicking (on the PC) or control-clicking (on the Mac) will
- produce a MathJax menu that allows you to get the source of the
- mathematics in various formats, change the size of the mathematics
- relative to the surrounding text, get information about
- MathJax, and configure other MathJax settings.
-
- Set this to ``false`` to disable the menu. When ``true``, the
- ``MathMenu`` configuration block determines the operation of the
- menu. See :ref:`the MathMenu options <configure-MathMenu>` for
- more details.
-
-.. describe:: tooltip: { ... }
-
- This sets the configuration options for ``<maction>`` elements
- with ``actiontype="tooltip"``. (See also the ``#MathJax_Tooltip``
- style setting in ``jax/output/HTML-CSS/config.js``, which can be
- overridden using the ``styles`` option above.)
-
- The ``tooltip`` section can contain the following options:
-
- .. describe:: delayPost: 600
-
- The delay (in milliseconds) before the tooltip is posted after
- the mouse is moved over the ``maction`` element.
-
- .. describe:: delayClear: 600
-
- The delay (in milliseconds) before the tooltop is cleared
- after the mouse moves out of the ``maction`` element.
-
- .. describe:: offsetX: 10 and offsetY: 5
-
- These are the offset from the mouse position (in pixels)
- where the tooltip will be placed.
diff --git a/docs/rst/options/MathMenu.rst b/docs/rst/options/MathMenu.rst
@@ -1,79 +0,0 @@
-.. _configure-MathMenu:
-
-**********************
-The MathMenu extension
-**********************
-
-The options below control the operation of the contextual menu that is
-available on mathematics that is typeset by MathJax.
-They are listed with their default values. To set any of these
-options, include a ``MathMenu`` section in your
-:meth:`MathJax.Hub.Config()` call. For example
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- MathMenu: {
- delay: 600
- }
- });
-
-would set the ``delay`` option to 600 milliseconds.
-
-.. describe:: delay: 400
-
- This is the hover delay for the display (in milliseconds) for
- submenus in the contextual menu: when the mouse is over a submenu
- label for this long, the menu will appear. (The submenu also will
- appear if you click on its label.)
-
-.. describe:: helpURL: "http://www.mathjax.org/help/user/"
-
- This is the URL for the MathJax Help menu item. When the user
- selects that item, the browser opens a new window with this URL.
-
-.. describe:: showRenderer: true
-
- This controls whether the "Math Renderer" item will be displayed in
- the the "Settings" submenu of the mathematics contextual menu. It
- allows the user to change between the `HTML-CSS` and `NativeMML`
- output processors for the mathematics on the page. Set to
- ``false`` to prevent this menu item from showing.
-
-.. describe:: showContext: false
-
- This controls whether the "Contextual Menu" item will be displayed
- in the the "Settings" submenu of the mathematics contextual menu.
- It allows the user to decide whether the MathJax menu or the
- browser's default contextual manu will be shown when the context
- menu click occurs over mathematics typeset by MathJax. (The main
- reason to allow pass-through to the browser's menu is to gain
- access to the MathPlayer contextual menu when the NativeMML output
- processor is used in Internet Explorer with the `MathPlayer plugin
- <http://www.dessci.com/en/products/mathplayer/>`_.) Set to
- ``false`` to prevent this menu item from showing.
-
-.. describe:: showFontMenu: false
-
- This controls whether the "Font Preference" item will be displayed
- in the the "Settings" submenu of the mathematics contextual menu.
- This submenu lets the user select what font to use in the
- mathematics produced by the `HTML-CSS` output processor. Note that
- changing the selection in the font menu will cause the page to
- reload. Set to ``false`` to prevent this menu item from showing.
-
-.. describe:: windowSettings: { ... }
-
- These are the settings for the ``window.open()`` call that
- creates the `Show Source` window. The initial width and height
- will be reset after the source is shown in an attempt to make the
- window fit the output better.
-
-.. describe:: styles: {}
-
- This is a list of CSS declarations for styling the menu
- components. See the definitions in ``extensions/MathMenu.js`` for
- details of what are defined by default. See :ref:`CSS Style
- Objects <css-style-objects>` for details on how to specify CSS
- style in a JavaScript object.
-
diff --git a/docs/rst/options/TeX.rst b/docs/rst/options/TeX.rst
@@ -1,67 +0,0 @@
-.. _configure-TeX:
-
-***********************
-The TeX input processor
-***********************
-
-The options below control the operation of the TeX input processor
-that is run when you include ``"input/TeX"`` in the `jax` array of
-your configuration. They are listed with their default values. To
-set any of these options, include a ``TeX`` section in your
-:meth:`MathJax.Hub.Config()` call. For example
-
-.. code-block:: javascript
-
- MathJax.Hub.Config({
- TeX: {
- Macros: {
- RR: '{\\bf R}',
- bold: ['{\\bf #1}', 1]
- }
- }
- });
-
-would set the ``Macros`` configuration option to cause two new macros
-to be defined within the TeX input processor.
-
-.. describe:: TagSide: "right"
-
- This specifies the side on which ``\tag{}`` macros will place the
- tags. Set it to ``"left"`` to place the tags on the left-hand side.
-
-.. describe:: TagIndent: ".8em"
-
- This is the amount of indentation (from the right or left) for the
- tags produced by the ``\tag{}`` macro.
-
-.. describe:: MultLineWidth: "85%"
-
- The width to use for the `multline` environment that is part of
- the ``AMSmath`` extension. This width gives room for tags at
- either side of the equation, but if you are displaying mathematics
- in a small area or a thin column of text, you might need to change
- the value to leave sufficient margin for tags.
-
-.. describe:: Macros: {}
-
- This lists macros to define before the TeX input processor begins.
- These are name:value pairs where the `name` gives the name of the TeX
- macro to be defined, and `value` gives the replacement text for the
- macro. The `value` canbe an array of the form `[value,n]`, where
- `value` is the replacement text and `n` is the number of parameters
- for the macro. Note that since the `value` is a javascript string,
- backslashes in the replacement text must be doubled to prevent them
- from acting as javascript escape characters.
-
- For example,
-
- .. code-block:: javascript
-
- Macros: {
- RR: '{\\bf R}',
- bold: ['{\\bf #1}', 1]
- }
-
- would ask the TeX processor to define two new macros: ``\RR``,
- which produces a bold-face "R", and ``\bold{...}``, which takes one
- parameter and set it in the bold-face font.
diff --git a/docs/rst/options/hub.rst b/docs/rst/options/hub.rst
@@ -1,209 +0,0 @@
-.. _configure-hub:
-
-******************************
-The Core Configuration Options
-******************************
-
-The options below control the MathJax Hub, and so determine the code
-behavior of MathJax. They are given with their default values.
-
-.. describe:: jax: ["input/TeX","output/HTML-CSS"]
-
- A comma-separated list of input and output jax to initialize at
- startup. Their main code is loaded only when they are actually
- used, so it is not inefficient to include jax that may not
- actually be used on the page. These are found in the ``MathJax/jax``
- directory.
-
-.. describe:: extensions: []
-
- A comma-separated list of extensions to load at startup. The
- default directory is ``MathJax/extensions``. The ``tex2jax`` and
- ``mml2jax`` preprocessors can be listed here, as well as a number
- of TeX-specific extensions (see the :ref:`TeX and LaTeX input
- <tex-and-latex-input>` section of the :ref:`Getting Started
- <getting-started>` document for more details). There is also a
- ``FontWarnings`` extension that you can use to inform your user
- that mathematics fonts are available that they can download to
- improve their experience of your site.
-
-.. describe:: config: []
-
- A comma-separated list of configuration files to load when MathJax
- starts up, e.g., to define local macros, etc., and there is a
- sample config file named ``config/local/local.js``. The default
- directory is the `MathJax/config` directory. The ``MMLorHTML.js``
- configuration is the only other predefined configuration file.
-
-.. describe:: styleSheets: []
-
- A comma-separated list of CSS stylesheet files to be loaded when
- MathJax starts up. The default directory is the `MathJax/config`
- directory.
-
-.. describe:: styles: {}
-
- CSS `selector: rules;` styles to be defined dynamically at startup
- time.
-
-.. describe:: preJax: null and postJax: null
-
- Patterns to remove from before and after math script tags. If you
- are not using one of the preprocessors, you need to insert
- something extra into your HTML file in order to avoid a bug in
- Internet Explorer. IE removes spaces from the DOM that it thinks
- are redundent, and since a ``<script>`` tag usually doesn't add
- content to the page, if there is a space before and after a
- MathJax ``<script>`` tag, IE will remove the first space. When
- MathJax inserts the typeset mathematics, this means there will be
- no space before it and the preceeding text. In order to avoid
- this, you should include some "guard characters" before or after
- the math SCRIPT tag; define the patterns you want to use below.
- Note that these are used as regular expressions, so you will need
- to quote special characters. Furthermore, since they are
- javascript strings, you must quote javascript special characters
- as well. So to obtain a backslash, you must use ``\\`` (doubled
- for javascript). For example, ``"\\["`` represents the pattern
- ``\[`` in the regular expression. That means that if you want an
- actual backslash in your guard characters, you need to use
- ``"\\\\"`` in order to get ``\\`` in the regular expression, and
- ``\`` in the actual text. If both preJax and postJax are defined,
- both must be present in order to be removed.
-
- See also the ``preRemoveClass`` comments below.
-
- Examples:
-
- ``preJax: "\\\\\\\\\"`` makes a double backslash the preJax text
-
- ``preJax: "\\[\\[", postJax: "\\]\\]"`` makes it so jax
- scripts must be enclosed in double brackets.
-
-.. describe:: preRemoveClass: "MathJax_Preview"
-
- The CSS class for a math preview to be removed preceeding a
- MathJax SCRIPT tag. If the tag just before the MathJax
- ``<script>`` tag is of this class, its contents are removed when
- MathJax processes the ``<script>`` tag. This allows you to
- include a math preview in a form that will be displayed prior to
- MathJax performing its typesetting. It also avoids the Internet
- Explorer space-removal bug, and can be used in place of ``preJax``
- and ``postJax`` if that is more convenient.
-
- For example
-
- .. code-block:: html
-
- <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
-
- would display "[math]" in place of the math until MathJax is able
- to typeset it.
-
- See also the ``preJax`` and ``postJax`` comments above.
-
-.. describe:: showProcessingMessages: true
-
- This value controls whether the `Processing Math: nn%` message are
- displayed in the lower left-hand corner. Set to ``false`` to
- prevent those messages (though file loading and other messages
- will still be shown).
-
-.. describe:: messageStyle: "normal"
-
- This value controls the verbosity of the messages in the lower
- left-hand corner. Set it to ``"none"`` to eliminate all messages,
- or set it to ``"simple"`` to show "Loading..." and "Processing..."
- rather than showing the full file name or the percentage of the
- mathematics processed.
-
-.. describe:: displayAlign: "center" and displayIndent: "0em"
-
- These two parameters control the alignment and shifting of
- displayed equations. The first can be ``"left"``, ``"center"``,
- or ``"right"``, and determines the alignment of displayed
- equations. When the alignment is not ``"center"``, the second
- determines an indentation from the left or right side for the
- displayed equations.
-
-
-.. describe:: delayStartupUntil: "none"
-
- Normally MathJax will perform its starup commands (loading of
- configuration, styles, jax, and so on) as soon as it can. If you
- expect to be doing additional configuration on the page, however,
- you may want to have it wait until the page's onload hander is
- called. If so, set this to ``"onload"``.
-
-.. describe:: skipStartupTypeset: false
-
- Normally MathJax will typeset the mathematics on the page as soon
- as the page is loaded. If you want to delay that process, in
- which case you will need to call :meth:`MathJax.Hub.Typeset()`
- yourself by hand, set this value to ``true``.
-
-.. describe:: menuSettings: { ... }
-
- This block contains settings for the mathematics contextual menu
- that act as the defaults for the user's settings in that menu.
- The possible values are:
-
- .. describe:: zoom: "none"
-
- This indicates when typeset mathematics should be zoomed. It
- can be set to ``"None"``, ``"Hover"``, ``"Click"``, or
- ``"Double-Click"`` to set the zoom trigger.
-
- .. describe:: CTRL: false, ALT: false, CMD: false, Shift: false
-
- These values indicate which keys must be pressed in order for
- math zoom to be triggered. For example, if ``CTRL`` is set to
- ``true`` and ``zoom`` is ``"Click"``, then math will be zoomed
- only when the user control-clicks on mathematics (i.e., clicks
- while holding down the `CTRL` key). If more than one is
- ``true``, then all the indicated keys must be pressed for the
- zoom to occur.
-
- .. describe:: zscale: "200%"
-
- This is the zoom scaling factor, and it can be set to any of
- the values available in the `Zoom Factor` menu of the
- `Settings` submenu of the contextual menu.
-
- .. describe:: context: "MathJax"
-
- This controls what contextual menu will be presented when a
- right click (on a PC) or CTRL-click (on the Mac) occurs over a
- typeset equation. When set to ``"MathJax"``, the MathJax
- contextual menu will appear; when set to ``"Browser"``, the
- browser's contextual menu will be used. For example, in
- Internet Explorer with the MathPlayer plugin, if this is set
- to ``"Browser"``, you will get the MathPlayer contextual menu
- rather than the MathJax menu.
-
- There are also settings for ``format``, ``renderer``, and ``font``,
- but these are maintained by MathJax and should not be set by the
- page author.
-
-.. describe:: errorSettings: { ... }
-
- This block contains settings that control how MathJax responds to
- unexpected errors while processing mathematical equations. Rather
- than simply crash, MathJax can report an error and go on. The
- options you can set include:
-
- .. describe:: message: ["[Math Processing Error"]]
-
- This is an HTML snippet that will be inserted at the location
- of the mathematics for any formula that causes MathJax to
- produce an internal error (i.e., an error in the MathJax code
- itself). See the :ref:`description of HTML snippets
- <html-snippets>` for details on how to represent HTML code in
- this way.
-
- .. describe:: style: {color:"#CC0000", "font-style":"italic"}
-
- This is the CSS style description to use for the error
- messages produced by internal MathJax errors. See the section
- on :ref:`CSS style objects <css-style-objects>` for details on
- how these are specified in JavaScript.
-
diff --git a/docs/rst/output.rst b/docs/rst/output.rst
@@ -1,126 +0,0 @@
-.. _output-formats:
-
-**********************
-MathJax Output Formats
-**********************
-
-Currently, MathJax can render math in two ways:
-
-- Using HTML-with-CSS to lay out the mathematics, or
-- Using a browser's native MathML support.
-
-These are implemented by the `HTML-CSS` and `NativeMML` output
-processors. You select which one you want to use by including either
-``"output/HTML-CSS"`` or ``"output/NativeMML"`` in the `jax` array of
-your MathJax configuration. For example
-
-.. code-block:: javascript
-
- jax: ["input/TeX","output/HTML-CSS"]
-
-would specify TeX input and HTML-with-CSS output for the mathematics
-in your document.
-
-The HTML-CSS output processor produces high-quality output in all
-major browsers, with results that are consistent across browsers and
-operating systems. This is MathJax's primary output mode. It's major
-advantage is its quality and consistency; it's drawback is that it is
-slower that the NativeMML mode at rendering the mathematics. (The
-HTML-CSS processor has not yet been optimized for speed, so you can
-expect some improvement in the future. Note that IE8 in "IE8
-standards mode" is an order of magnitude slower than any other browser
-when processing math through the HTML-CSS output processor; see
-:ref:`HTML-CSS with IE8 <html-css-with-ie8>` below for some strategies
-to deal with this.)
-
-The NativeMML output processor uses the browser's internal MathML support (if
-any) to render the mathematics. Currently, Firefox has native support
-for MathML, and IE has the `MathPlayer plugin
-<http://www.dessci.com/en/products/mathplayer/>`_ for rendering
-MathML. Opera has some built-in support for MathML that works well
-with simple equations, but fails with more complex formulas, so we
-don't recommend using the NativeMML output processor with Opera. Safari,
-Chrome, Konqueror, and most other browsers don't support MathML
-natively.
-
-The advantage of the NativeMML output Processor is its speed, since
-native MathML support is much faster than using complicated HTML and
-CSS to lay out mathematics via an interpreted language like JavaScript
-(as the HTML-CSS output processor does). The disadvantage is that you
-are dependent on the browser's MathML implementation for your
-rendering, and these vary in quality of output and completeness of
-implementation. MathJax may rely on features that are not available
-in some renderers (for example, Firefox's MathML support does not
-implement some of the named widths, such as
-``negativethinmathspace``). The results using the NativeMML output
-processor may have spacing or other rendering problems that are
-outside of MathJax's control.
-
-Automatic Selection of the Output Processor
-===========================================
-
-Since not all browsers support MathML natively, it would be unwise to
-choose the NativeMML output processor unless you are sure of your
-audience's browser capabilities. MathJax can help with that, however,
-since there is a special configuration file that will choose between
-NativeMML and HTML-CSS depending on the browser in use. To invoke it,
-add ``"MMLorHTML.js"`` to your configurations `config` array, and **do
-not** include an output processor in your `jax` array; MathJax will
-fill that in for you based on the abilities of your user's browser.
-
-.. code-block:: javascript
-
- config: ["MMLorHTML.js"],
- jax: ["input/TeX"]
-
-You can customize which choice to make on a browser-by-browser basis
-or a global basis. See the ``config/MathJax.js`` file or the
-:ref:`Configuring MathJax <configuration>` section for futher
-details.
-
-MathJax produces MathML that models the underlying mathematics as best
-it can, rather than using complicated hacks to improve output for a
-particular MathML implementation. When you make the choice to use the
-NativeMML output processor, you are making a trade-off: gaining speed
-at the expense of quality and reliability, a decision that should not
-be taken lightly. Note, however, that a user can employ the MathJax
-contectual menu to select the other other renderer if he or she
-wishes.
-
-
-.. _html-css-with-ie8:
-
-HTML-CSS with IE8
-=================
-
-Internet Explorer 8 has at least eight different rendering modes in
-which can operate, and that are triggered by the `DOCTYPE` of the
-document being viewed. Its "quirks" mode is its fastest mode, and its
-"IE8 standards" mode is its slowest. This is the mode triggered by
-strict HTML document types, and since most modern content management
-systems now include a `DOCTYPE` that activates "standards" mode, IE8
-will operate in its slowest manner. This is particularly apparent
-when MathJax is used, since IE8 in standards mode runs 20 to 30 times
-slower than it does in its IE7 emulation mode, and 60 times slower
-than in quirks mode.
-
-Most users find this speed reduction unacceptable when there is much
-mathematics on the page. To overcome this problem, you may wish to
-tell IE8 to use its IE7 emulation mode rather than its IE8 standards
-mode. You can accomplish this by including the line
-
-.. code-block:: html
-
- <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
-
-at the top of the ``<head>`` section of your HTML documents. This
-lets you keep the strict `DOCTYPE` for validation purposes, while
-still managing to get reasonable perforance from Internet Explorer
-8. Note that this line must come at the beginning of the ``<head>``,
-before any stylesheets or other content are loaded.
-
-Altertnatively, you can use the `MMLorHTML` configuration file
-described above to select NativeMML output when possible, and request
-that your users install the `MathPlayer plugin
-<http://www.dessci.com/en/products/mathplayer/>`_, which will render
-the mathematics much more quickly.
diff --git a/docs/rst/platforms/index.rst b/docs/rst/platforms/index.rst
@@ -1,65 +0,0 @@
-.. _platforms:
-
-======================================
-Using MathJax in popular web platforms
-======================================
-
-Most web-based content-management systems include a theme or template
-layer that determines how the pages look, and that loads information
-common to all pages. Such theme files provide one popular way to
-include MathJax in your web templates in the absense of
-MathJax-specific plugins for the system you are using. To take
-advantage of this approach, you will need access to your theme files,
-which probably means you need to be an administrator for the site; if
-you are not, you may need to have an administrator do these steps for
-you.
-
-To enable MathJax in your web platform, add the line::
-
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
-
-(where ``path-to-MathJax`` is the web-address of the main MathJax
-directory for your server) either just before the ``</head>`` tag in
-your theme file, or at the end of the file if it contains no
-``</head>``.
-
-The theme files for various popular platforms are:
-
- `WordPress <http://wordpress.org/>`_
- ``wp-content/themes/[current_theme]/header.php``
-
- `Movable Type <http://www.movabletype.org/>`_
- ``[current_theme_templates]/html_head.mhtml``
-
- `Drupal <http://drupal.org/>`_
- ``themes/[current_theme]/page.tpl.php``
-
- `Joomla <http://www.joomla.org/>`_
- ``templates/[current_theme]/index.php``
-
- `MediaWiki <http://www.mediawiki.org/>`_
- ``skins/[current_skin].php``
-
- `TiddlyWiki <http://www.tiddlywiki.com/>`_
- ``*.php`` (Whatever you call your TiddlyWiki php file)
-
- `Moodle <http://moodle.org/>`_
- ``theme/[current_theme]/header.html``
-
-Keep in mind that this will enable MathJax for your current
-theme/template only. If you change themes or update your theme, you
-will have to repeat these steps.
-
-
-Insructions for Specific Platforms
-==================================
-
-Some programs, such as WordPress and Moveable Type, allow you to edit
-template files from inside their administrator interfaces. Specific
-instructions for these are given via the links below.
-
-.. toctree::
- :maxdepth: 1
-
- Wordpress <wordpress>
- Movable Type <movable-type>
diff --git a/docs/rst/platforms/movable-type.rst b/docs/rst/platforms/movable-type.rst
@@ -1,41 +0,0 @@
-.. _platform-movable-type:
-
-=============================
-Using MathJax in Movable Type
-=============================
-
-These instructions assume you already have placed the MathJax files on
-your server (see :ref:`Installing and Testing MathJax <installation>`).
-
-1. Open Moveable Type Admin interface for the site on which you want to enable
- MathJax.
-
-2. In the dashboard menu on the left, open up the Design menu. This
- should show you the templates you are currently using on the site.
-
- .. image:: ../images/mt_menu.png
-
-
-3. Scroll down to the Template Modules section in the template list
- and open the `HTML Head` template.
-
- .. image:: ../images/mt_templates.png
-
-4. At the end of the file, insert
-
- .. code-block:: html
-
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
-
- where ``path-to-MathJax`` is replaced by the web-address of the
- main MathJax dorectory on your server.
-
- .. image:: ../images/mt_head.png
-
-5. Save the file. This should enable MathJax, so you should be able
- to start adding mathematical content to your pages. Use the
- ``config/MathJas.js`` file in the MathJax directory to configure
- MathJax to your needs (see :ref:`Configuring MathJax
- <configuration>` for details).
-
-
diff --git a/docs/rst/platforms/wordpress.rst b/docs/rst/platforms/wordpress.rst
@@ -1,42 +0,0 @@
-.. _platform-wordpress:
-
-===============================
-Installing MathJax in WordPress
-===============================
-
-These instructions assume you already have placed the MathJax files on
-your server (see :ref:`Installing MathJax <installation>`).
-
-1. Open the WordPress admin interface.
-
-2. In the administration menu on the left, open up the `Appearance`
- menu and click on the `Editor` submenu option.
-
- .. image:: ../images/wp_menu.png
-
- When you click on the editor option, WordPress should open up the
- first stylesheet in the current theme.
-
-3. In the template list on the right side of the page, click on the
- header file (it should be ``header.php``).
-
- .. image:: ../images/wp_templates.png
-
- This part depends slightly on how your current theme is written.
- In the ``header.php`` file, look for the end-of-head tag,
- ``</head>``. If you find it, insert
-
- .. code-block:: html
-
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
-
- just before that. Otherwise, insert the same code at the very
- bottom of the file. Here, ``path-to-MathJax`` should be replaced
- by the web-address of the main MathJax directory on your server,
- e.g., ``src="/mathjax/MathJax.js"``.
-
-4. Save the file. This should enable MathJax, so you should be able to
- start adding mathematical content to your pages. Use the
- ``config/MathJas.js`` file in the MathJax directory to configure
- MathJax to your needs (see :ref:`Configuring MathJax
- <configuration>` for details).
diff --git a/docs/rst/start.rst b/docs/rst/start.rst
@@ -1,318 +0,0 @@
-.. _getting-started:
-
-***************
-Getting Started
-***************
-
-MathJax allows you to include mathematics in your web pages, either
-using TeX and LaTeX notation, or as MathML. To use MathJax, you will
-need to do the following things:
-
-1. Obtain a copy of MathJax and make it available on your server.
-
-2. Configure MathJax to suit the needs of your site.
-
-3. Link MathJax into the web pages that are to include mathematics.
-
-4. Put mathematics into your web pages so that MathJax can display
- it.
-
-Each of these steps is described briefly below, with links to more
-detailed explanations. This page gives the quickest and easiest ways
-to get MathJax up and running on your web site, but you may want to
-read the details in order to customize the setup for your pages.
-
-
-Obtaining and Installing MathJax
-================================
-
-The easiest way to set up MathJax is to obtain the v1.1 archive from
-the `MathJax download page <http://www.mathjax.org/download/>`_ (you
-should obtain a file names something like
-``mathjax-MathJax-v1.0-X-XXXXXXXX.zip``, where the X's are
-random-looking letters and numbers). This archive includes both the
-MathJax code and the MathJax webfonts, so it is the only file you
-need. (This is different from the beta releases, which had the fonts
-separate from the rest of the code).
-
-Unpack the archive and place the resulting MathJax folder onto your
-web server at a convenient location where you can include it into your
-web pages. For example, making ``MathJax`` a top-level directory on
-your server would be one natural way to do this. That would let you
-refer to the main MathJax file via the URL ``/MathJax/MathJax.js``
-from within any page on your server.
-
-Note: While this is the easiest way to set up MathJax initially, there
-is a better way to do it if you want to be able to keep your copy of
-MathJax up-to-date easily. That uses the `Git <http://git-scm.com/>`_
-version control system, and is described in the :ref:`Installing
-MathJax <getting-mathjax-git>` document. If you prefer using
-`Subversion <http://subversion.apache.org/>`_, you can also use that
-to get a copy of MathJax (see :ref:`Installing MathJax via SVN
-<getting-mathjax-svn>`).
-
-Once you have MathJax set up on your server, you can test it using the
-files in the ``MathJax/test`` directory. Load them in your browser
-using its web address rather than opening them locally (i.e., use an
-``http://`` URL rather than a ``file://`` URL). When you view the
-``index.html`` file, after a few moments you should see a message that
-MathJax appears to be working. If not, check that the files have been
-transferred to the server completely and that the permissions allow
-the server to access the files and folders that are part of the
-MathJax directory. (Be sure to verify the MathJax folder's permissions
-as well.) Check the server log files for any errors that pertain to
-the MathJax installation; this may help locate problems in the
-permission or locations of files.
-
-
-Configuring MathJax
-===================
-
-When you include MathJax into your web pages as described below, it
-will load the file ``config/MathJax.js`` (i.e., the file named
-``MathJax.js`` in the ``config`` folder of the main ``MathJax``
-folder). This file contains the configuration parameters that
-control how MathJax operates. There are comments in it that
-explain each of the parameters, and you can edit the file to suit
-your needs.
-
-The default settings are appropriate for pages that use TeX as the
-input language, but you might still want to adjust some settings; for
-example, you might want to include some additional extensions such as
-the ``AMSmath`` and ``AMSsymbols`` extensions. The comments in the
-file should help you do this, but more detailed instructions are
-included in the :ref:`Configuring MathJax <configuration>` document.
-There are also ways to configure MathJax other than by using the
-``config/MathJax.js`` file; these are descibed on that page as well.
-
-
-Linking MathJax into a web page
-===============================
-
-You can include MathJax in your web page by putting
-
-.. code-block:: html
-
- <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
-
-in your document's ``<head>`` block. Here, ``path-to-MathJax`` should
-be replaced by the URL for the main MathJax directory, so if you have
-put the ``MathJax`` directory at the top level of you server's web
-site, you could use
-
-.. code-block:: html
-
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
-
-to load MathJax in your page. For example, your page could look like
-
-.. code-block:: html
-
- <html>
- <head>
- ...
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
- </head>
- <body>
- ...
- </body>
- </html>
-
-Although it is possible to load MathJax from a site other than your
-own web server, there are issues involved in doing so that you need to
-take into consideration. See the :ref:`Notes About Shared Servers
-<cross-domain-linking>` for more details. Please do **not** link to
-the copy of MathJax at ``www.mathjax.org``, as we do not have the
-resources to act as a web service for all the sites on the web that
-would like to display mathematics. If you are able to run MathJax
-from your own server, please do so (this will probably give you better
-response time in any case).
-
-
-Putting mathematics in a web page
-=================================
-
-To put mathematics in your web page, you can use either TeX and LaTeX
-notation, or MathML notation (or both); the configuration file tells
-MathJax which you want to use, and how you plan to indicate the
-mathematics when you are using TeX notation. The following sections
-tell you how to use each of these formats.
-
-
-.. _tex-and-latex-input:
-
-TeX and LaTeX input
--------------------
-
-To process mathematics that is written in :term:`TeX` or :term:`LaTeX`
-format, include ``"input/TeX"`` in your configuration's `jax` array,
-and add ``"tex2jax.js"`` to the `extensions` array so that MathJax
-will look for TeX-style math delimiters to identify the mathematics on
-the page.
-
-.. code-block:: javascript
-
- extensions: ["tex2math.js"],
- jax: ["input/TeX", "output/HTML-CSS"]
-
-Note that the default math delimiters are ``$$...$$`` and ``\[...\]``
-for displayed mathematics, and ``\(...\)`` for in-line mathematics.
-In particular, the ``$...$`` in-line delimiters are **not** used by
-default. That is because dollar signs appear too often in
-non-mathematical settings, which could cause some text to be treated
-as mathematics unexpectedly. For example, with single-dollar
-delimiters, "... the cost is $2.50 for the first one, and $2.00 for
-each additional one ..." would cause the phrase "2.50 for the first
-one, and" to be treated as mathematics since it falls between dollar
-signs. For this reason, if you want to use single-dollars for in-line
-math mode, you must enable that explicitly in your configuration:
-
-.. code-block:: javascript
-
- tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
-
-See the ``config/MathJax.js`` file, or the :ref:`tex2jax configuration
-options <configure-tex2jax>` page, for additional configuration
-parameters that you can specify for the ``tex2jax`` preprocessor.
-
-Here is a complete sample page containing TeX mathematics (which
-assumes that ``config/MathJax.js`` is configured as described above):
-
-.. code-block:: html
-
- <html>
- <head>
- <title>MathJax TeX Test Page</title>
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
- </head>
- <body>
- When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
- $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
- </body>
- </html>
-
-There are a number of extensions for the TeX input processor that you
-might want to add to the `extensions` array. These include:
-
-- `TeX/AMSmath.js`, which defines the AMS math environments and
- macros,
-
-- `TeX/AMSsymbols.js`, which defines the macros for the symbols in
- the msam10 and msbm10 fonts,
-
-- `TeX/noErrors.js`, which shows the original TeX code rather than
- an error message when there is a problem processing the TeX, and
-
-- `TeX/noUndefined.js`, which prevents undefined macros from
- producing an error message, and instead shows the macro name in red.
-
-For example,
-
-.. code-block:: javascript
-
- extensions: ["tex2math.js","TeX/noErrors.js","TeX/noUndefined.js",
- "TeX/AMSmath.js","TeX/AMSsymbols.js"]
-
-loads all four extensions, in addition to the ``tex2math``
-preprocessor.
-
-
-MathML input
-------------
-
-To process mathematics written in :term:`MathML`, include
-``"input/MathML"`` in your configuration's `jax` array, and add
-``"mml2jax.js"`` to the `extensions` array so that MathJax will
-locate the ``<math>`` elements in the page automatically.
-
-.. code-block:: javascript
-
- extensions: ["mml2jax.js"],
- jax: ["input/MathML", "output/HTML-CSS"]
-
-With this configuration, you would mark your mathematics using
-standard ``<math>`` tags, where ``<math display="block">`` represents
-displayed mathematics and ``<math display="inline">`` or just
-``<math>`` represents in-line mathematics.
-
-Note that this will work in HTML files, not just XHTML files (MathJax
-works with both), and that the web page need not be served with any
-special MIME-type. Also note that, unless you are using XHTML rather
-than HTML, you should not include a namespace prefix for your
-``<math>`` tags; for example, you should not use ``<m:math>`` except
-in a file where you have tied the ``m`` namespace to the MathML DTD.
-
-Here is a complete sample page containing MathML mathematics (which
-assumes that ``config/MathJax.js`` is configured as described above):
-
-.. code-block:: html
-
- <html>
- <head>
- <title>MathJax MathML Test Page</title>
- <script type="text/javascript" src="/MathJax/MathJax.js"></script>
- </head>
- <body>
-
- When <math><mi>a</mi><mo>≠</mo><mn>0</mn></math>,
- there are two solutions to <math>
- <mi>a</mi><msup><mi>x</mi><mn>2</mn></msup>
- <mo>+</mo> <mi>b</mi><mi>x</mi>
- <mo>+</mo> <mi>c</mi> <mo>=</mo> <mn>0</mn>
- </math> and they are
- <math mode="display">
- <mi>x</mi> <mo>=</mo>
- <mrow>
- <mfrac>
- <mrow>
- <mo>−</mo>
- <mi>b</mi>
- <mo>±</mo>
- <msqrt>
- <msup><mi>b</mi><mn>2</mn></msup>
- <mo>−</mo>
- <mn>4</mn><mi>a</mi><mi>c</mi>
- </msqrt>
- </mrow>
- <mrow> <mn>2</mn><mi>a</mi> </mrow>
- </mfrac>
- </mrow>
- <mtext>.</mtext>
- </math>
-
- </body>
- </html>
-
-The ``mml2jax`` has only a few configuration options; see the
-``config/MathJax.js`` file or the :ref:`mml2jax configuration options
-<configure-mml2jax>` page for more details.
-
-
-Where to go from here?
-======================
-
-If you have followed the instructions above, you should now have
-MathJax installed and configured on your web server, and you should be
-able to use it to write web pages that include mathematics. At this
-point, you can start making pages that contain mathematical content!
-
-You could also read more about the details of how to :ref:`customize
-MathJax <configuration>`.
-
-If you are trying to use MathJax in blog or wiki software or in some
-other content-management system, you might want to read about :ref:`using
-MathJax in popular platforms <platforms>`.
-
-If you are working on dynamic pages that include mathematics, you
-might want to read about the :ref:`MathJax Application Programming
-Interface <mathjax-api>` (its API), so you know how to include
-mathematics in your interactive pages.
-
-If you are having trouble getting MathJax to work, you can read more
-about :ref:`installing MathJax <installation>`, or :ref:`loading and
-configuring MathJax <loading>`.
-
-Finally, if you have questions or comments, or want to help support
-MathJax, you could visit the :ref:`MathJax community forums
-<community-forums>` or the :ref:`MathJax bug tracker
-<community-tracker>`.
diff --git a/docs/rst/startup.rst b/docs/rst/startup.rst
@@ -1,152 +0,0 @@
-.. _startup-sequence:
-
-****************************
-The MathJax Startup Sequence
-****************************
-
-When you load ``MathJax.js`` into a web page, it configures itself and
-immediately begins loading the components it needs. As MathJax starts
-up, it uses its :ref:`signaling mechanism <synchronization>`
-to indicate the actions that it is taking so that MathJax extensions
-can tie into the initialization process, and so other applications
-within the page can synchronize their actions with MathJax.
-
-The startup process performs the following actions:
-
-- It creates the ``MathJax`` variable, and defines the following
- subsystems:
-
- - ``MathJax.Object`` (object-oriented programming model)
- - ``MathJax.Callback`` (callbacks, signals, and queues)
- - ``MathJax.Ajax`` (file-loading and style-creation code)
- - ``MathJax.HTML`` (support code for creating HTML elements)
- - ``MathJax.Message`` (manages the menu line in the lower left)
- - ``MathJax.Hub`` (the core MathJax functions)
-
-..
-
-- It then creates the base ``MathJax.InputJax``,
- ``MathJax.OutputJax``, and ``MathJax.ElementJax`` objects.
-
-..
-
-- MathJax sets up the default configuration, and creates the
- signal objects used for the startup and hub actions.
-
-..
-
-- MathJax locates the ``<script>`` tag that loaded the ``MathJax.js``
- file, and sets the ``MathJax.Hub.config.root`` value to reflect the
- location of the MathJax root directory.
-
-..
-
-- MathJax determines the browser being used and its version. It sets
- up the ``MathJax.Hub.Browser`` object, which includes the browser
- name and version, plus ``isMac``, ``isPC``, ``isMSIE``, and so on.
-
-..
-
-- MathJax set up the ``MathJax.Hub.queue`` command queue, and
- populates it with the commands MathJax runs at startup. This
- includes creating the ``MathJax.Hub.Startup.onload`` onload
- handler that is used to synchronize MathJax's action with the
- loading of the page.
-
-Once the ``MathJax.Hub.queue`` is created, the following actions are
-pushed into the queue:
-
-1. Post the ``Begin`` startup signal
-
-..
-
-2. Perform the configuration actions:
-
- - Post the ``Begin Config`` startup signal
- - Execute the content of the ``<script>`` that loaded MathJax,
- or load the ``config/MathJax.js`` file if the ``<script>``
- is empty
- - If the ``MathJax.Hub.config.delayStartupUntil`` value is set,
- wait until its condition is met
- - load the files listed in the ``MathJax.Hub.config.config`` array
- - Post the ``End Config`` startup signal
-
-..
-
-3. Load the cookie values:
-
- - Post the ``Begin Cookie`` startup signal
- - Load the menu cookie values
- - Use the cookie to set the renderer, if it is set
- - Post the ``End Cookie`` startup signal
-
-..
-
-4. Define the MathJax styles:
-
- - Post the ``Begin Styles`` startup signal
- - Load the stylesheet files from the ``MathJax.Hub.config.stylesheets`` array
- - Define the stylesheet described in ``MathJax.Hub.config.styles``
- - Post the ``End Styles`` startup signal
-
-..
-
-5. Load the jax configuration files:
-
- - Post the ``Begin Jax`` startup signal
- - Load the jax config files from the ``MathJax.Hub.config.jax`` array
-
- - The jax will register themselves when they are loaded
-
- - Post the ``End Jax`` startup signal
-
-..
-
-6. Load the extension files:
-
- - Post the ``Begin Extension`` startup signal
- - Load the files from the ``MathJax.Hub.config.extensions`` array
-
- - Most extensions will post a ``Extension [name] Ready``
- startup message when they are loaded (where ``[name]`` is
- the name of the extension)
-
- - Post the ``End Extension`` startup signal
-
-..
-
-7. Wait for the onload handler to fire
-
-..
-
-8. Set ``MathJax.isReady`` to ``true``
-
-..
-
-9. Perform the typesetting pass (preprocessors and processors)
-
- - Post the ``Begin Typeset`` startup signal
- - Post the ``Begin PreProcess`` hub signal
- - Run the registered preprocessors
- - Post the ``End PreProcess`` hub signal
- - Clear the hub signal history
- - Post the ``Begin Process`` hub signal
- - Process the math script elements on the page
-
- - Each new math element generates a ``New Math`` hub signal
- with the math element's ID
-
- - Post the ``End Process`` hub signal
- - Post the ``End Typeset`` startup signal
-
-..
-
-10. Post the ``End`` startup signal
-
-
-
-
-
-
-
-
diff --git a/docs/rst/synchronize.rst b/docs/rst/synchronize.rst
@@ -1,65 +0,0 @@
-.. _synchronization:
-
-************************************
-Synchronizing your code with MathJax
-************************************
-
-MathJax performs much of its activity asynchronously, meaning that
-the calls that you make to initiate these actions will return before
-the actions are completed, and your code will continue to run even
-though the actions have not been finished (and may not even be started
-yet). Actions such as loading files, loading web-based fonts, and
-creating stylesheets all happen asynchronously within the browser, and
-since JavaScript has no method of halting a program while waiting for
-an action to complete, synchronizing your code with these types of
-actions is made much more difficult. MathJax used three mechanisms to
-overcome this language shortcoming: callbacks, queues, and signals.
-
-**Callbacks** are functions that are called when an action is
-completed, so that your code can continue where it left off when the
-action was initiated. Rather than have a single routine that
-initiates an action, waits for it to complete, and then goes on, you
-break the function into two parts: a first part that sets up and
-initiates the action, and a second that runs after the action is
-finished. Callbacks are similar to event handlers that you attach to
-DOM elements, and are called when an certain action occurs. See the
-:ref:`Callback Object <api-callback>` reference page for details of
-how to specify a callback.
-
-**Queues** are MathJax's means of synchronizing actions that must be
-performed sequentially, even when they involve asynchronous events
-like loading files or dynamically creating stylesheets. The actions
-that you put in the queue are `Callback` objects that will be perfomed
-in sequence, with MathJax handling the linking of one action to the
-next. MathJax maintains a master queue that you can use to
-synchronize with MathJax, but you can also create your own private
-queues for actions that need to be synchronized with each other, but
-not to MathJax as a whole. See the :ref:`Queue Object <api-queue>`
-reference page for more details.
-
-**Signals** are another means of synchronizing your own code with
-MathJax. Many of the important actions that MathJax takes (like
-typesetting new math on the page, or loading an external component)
-are "announced" by posting a message to a special object called a
-`Signal`. Your code can register an interest in receiving one or more
-of these signals by providing a callback to be called when the signal
-is posted. When the signal arrives, MathJax will call your code.
-This works somewhat like an event handler, except that many different
-types of events can go through the same signal, and the signals have a
-"memory", meaning that if you register an interest in a particular
-type of signal and that signal has already occurred, you will be told
-about the past occurrances as well as any future ones. See the
-:ref:`Signal Object <api-signal>` reference page for more details.
-See also the ``test/sample-signals.html`` file in the MathJax ``test``
-directory for a working example of using signals.
-
-Each of these is explained in more detail in the links below:
-
-.. toctree::
- :maxdepth: 1
-
- Using Callbacks <callbacks>
- Using Queues <queues>
- Using Signals <signals>
-
-
diff --git a/docs/rst/tex.rst b/docs/rst/tex.rst
@@ -1,1090 +0,0 @@
-.. _TeX-support:
-
-*****************************
-MathJax TeX and LaTeX Support
-*****************************
-
-The support for TeX and LaTeX in MathJax consists of two parts: the
-`tex2jax` preprocessor, and the TeX input processor. The first of
-these looks for mathematics within your web page (indicated by math
-delimiters like ``$$...$$``) and marks the mathematics for later
-processing by MathJax. The TeX input processor is what converts the
-TeX notation into MathJax's internal format, where one of MathJax's
-output processors then displays it in the web page.
-
-The `tex2jax` preprocessor can be configured to look for whatever
-markers you want to use for your math delimiters. See the
-:ref:`tex2jax configuration options <configure-tex2jax>` section for
-details on how to customize the action of `tex2jax`.
-
-The TeX input processor handles conversion of your mathematical
-notation into MathJax's internal format (which is essentially MathML),
-and so acts as a TeX to MathML converter. The TeX input processor has
-few configuration options (see the :ref:`TeX options
-<configure-TeX>` section for details), but it can also be customized
-through the use of extensions that define additional functionality
-(see the :ref:`TeX and LaTeX extensions <tex-extensions>` below).
-
-Note that the TeX input processor implements **only** the math-mode
-macros of TeX and LaTeX, not the text-mode macros. MathJax expects
-that you will use standard HTML tags to handle formatting the text of
-your page; it only handles the mathematics. So, for example, MathJax
-does not implement ``\emph`` or
-``\begin{enumerate}...\end{enumerate}`` or other text-mode macros or
-environments. You must use HTML to handle such formatting tasks. If
-you need a LaTeX-to-HTML converter, you should consider `other options
-<http://www.google.com/search?q=latex+to+html+converter>`_.
-
-
-TeX and LaTeX in HTML documents
-===============================
-
-Keep in mind that your mathematics is part of an HTML document, so you
-need to be aware of the special characters used by HTML as part of its
-markup. There cannot be HTML tags within the math delimiters (other
-than ``<BR>``) as TeX-formatted math does not include HTML tags.
-Also, since the mathematics is initially given as text on the page,
-you need to be careful that your mathematics doesn't look like HTML
-tags to the browser (which parses the page before MathJax gets to see
-it). In particular, that means that you have to be careful about
-things like less-than and greater-than signs (``<``and ``>``), and
-ampersands (``&``), which have special meaning to the browsers. For
-example,
-
-.. code-block:: latex
-
- ... when $x<y$ we have ...
-
-will cause a problem, because the brower will think ``<y`` is the
-beginning of a tag named ``y`` (even though there is no such tag in
-HTML). When this happens, the browser will think the tag continues up
-to the next ``>`` in the document (typically the end of the next
-actual tag in the HTML file), and you may notice that you are missing
-part of the text of the document. In the example above, the `` we
-have ...`` will not be displayed because the browser thinks it is
-part of the tag starting at ``<y``. This is one indication you can
-use to spot this prooblem; it is a common error and should be avoided.
-
-Usually, it is sufficient to simply put spaces around these symbols to
-cause the browser to avoid them, so
-
-.. code-block:: latex
-
- ... when $x < y$ we have ...
-
-should work. Alternatively, you can use the HTML entities ``<``,
-``>`` and ``&`` to encode these characters so that the browser
-will not interpret them, but MathJax will. E.g.,
-
-.. code-block:: latex
-
- ... when $x < y$ we have ...
-
-Finally, there are ``\lt`` and ``\gt`` macros defined to make it
-easier to enter ``<`` and ``>`` using TeX-like syntax:
-
-.. code-block:: latex
-
- ... when $x \lt y$ we have ...
-
-Keep in mind that the browser interprets your text before MathJax
-does.
-
-
-.. _tex-extensions:
-
-TeX and LaTeX extensions
-========================
-
-While MathJax includes nearly all of the Plain TeX math macros, and
-many of the LaTeX macros and environments, note everything is
-implemented in the core TeX input processor. Some less-used commands
-are defined in extensions to the TeX processor. MathJax will load
-some extensions automatically when you first use the commands they
-implement (for example, the ``\def`` and ``\newcommand`` macros are
-implemented in the ``TeX/newcommand.js`` extension, but MathJax loads
-this extension itself when you use those macros). Not all extensions
-are set up to load automatically, however, so you may need to request
-some extensions explicitly yourself.
-
-To enable any of the TeX extensions, simply add the appropriate string
-(e.g., `"TeX/AMSmath.js"`) to your config's `extensions` array. The
-main extensions are described below.
-
-
-AMSmath and AMSsymbol
----------------------
-
-The `AMSmath` extension implements AMS math environments and macros,
-and the `AMSsymbol` extension implements macros for accessing the AMS
-symbol fonts. To use these extensions, add them to your `extensions` array.
-
-.. code-block:: javascript
-
- extensions: ["TeX/AMSmath.js", "TeX/AMSsymbol.js", ...]
-
-See the list of commands at the end of this document for details about
-what commands are implemented in these extensions.
-
-The `AMSmath` extension will be loaded automatically when you first
-use one of the math environments it defines, but you will have to load
-it explicitly if you want to use the other macros that it defines.
-The `AMSsymbols` extension is not loaded automatically, so you must
-include it explicitly if you want to use the macros it defines.
-
-
-Autobold
---------
-
-The `autobold` extension adds ``\boldsymbol{...}`` around mathematics that
-appears in a section of an HTML page that is in bold.
-
-.. code-block:: javascript
-
- extensions: ["TeX/autobold.js"]
-
-
-noErrors
---------
-
-The `noErrors` extension prevents TeX error messages from being
-displayed and shows the original TeX code instead. You can configure
-whether the dollar signs are shown or not for in-line math, and
-whether to put all the TeX on one line or use multiple lines (if the
-original text contained line breaks).
-
-To enable the `noErrors` extension and configure it, use
-
-.. code-block:: javascript
-
- extensions: ["TeX/noErrors.js", ...],
- TeX: {
- noErrors: {
- inlineDelimiters: ["",""], // or ["$","$"] or ["\\(","\\)"]
- multiLine: true, // false for TeX on all one line
- style: {
- "font-family": "serif",
- "font-size": "80%",
- "color": "black",
- "border": "1px solid"
- // add any additional CSS styles that you want
- // (be sure there is no extra comma at the end of the last item)
- }
- }
- }
-
-Display-style math is always shown in multi-line format, and without
-delimiters, as it will already be set off in its own centered
-paragraph, like standard display mathematics.
-
-The default settings place the invalid TeX in a multi-line box with a
-black border. If you want it to look as though the TeX is just part of
-the paragraph, use
-
-.. code-block:: javascript
-
- TeX: {
- noErrors: {
- inlineDelimiters: ["$","$"], // or ["",""] or ["\\(","\\)"]
- multiLine: false,
- style: {
- "font-size": "normal",
- "border": ""
- }
- }
- }
-
-You may also wish to set the font family, as the default is "serif"
-
-
-noUndefined
------------
-
-The `noUndefined` extension causes undefined control sequences to be
-shown as their macro names rather than produce an error message. So
-``$X_{\xxx}$`` would display as an "X" with a subscript consiting of the
-text ``\xxx`` in red.
-
-To enable and configure this extension, use for example
-
-.. code-block:: javascript
-
- extensions: ["TeX/noUndefined.js", ...],
- TeX: {
- noUndefined: {
- attributes: {
- mathcolor: "red",
- mathbackground: "#FFEEEE",
- mathsize: "90%"
- }
- }
- }
-
-The ``attributes`` setting specifies attributes to apply to the
-``mtext`` element that encodes the name of the undefined macro. The
-default settings set ``mathcolor`` to ``"red"``, but do not set any
-other attributes. This example sets the background to a light pink,
-and reduces the font size slightly.
-
-
-Unicode support
----------------
-
-The `unicode` extension implements a ``\unicode{}`` extension to TeX
-that allows arbitrary unicode code points to be entered in your
-mathematics. You can specify the height and depth of the character
-(the width is determined by the browser), and the default font from
-which to take the character.
-
-Examples:
-
-.. code-block:: latex
-
- \unicode{65} % the character 'A'
- \unicode{x41} % the character 'A'
- \unicode[.55,0.05]{x22D6} % less-than with dot, with height .55em and depth 0.05em
- \unicode[.55,0.05][Geramond]{x22D6} % same taken from Geramond font
- \unicode[Garamond]{x22D6} % same, but with default height, depth of .8em,.2em
-
-Once a size and font are provided for a given unicode point, they need
-not be specified again in subsequent ``\unicode{}`` calls for that
-character.
-
-The result of ``\unicode{...}`` will have TeX class `ORD` (i.e., it
-will act like a variable). Use ``\mathbin{...}``, ``\mathrel{...}``,
-etc., to specify a different class.
-
-Note that a font list can be given in the ``\unicode{}`` macro, but
-Internet Explorer has a buggy implementation of the ``font-family``
-CSS attribute where it only looks in the first font in the list that
-is actually installed on the system, and if the required glyph is not
-in that font, it does not look at later fonts, but goes directly to
-the default font as set in the `Internet-Options/Font` panel. For
-this reason, the default font list for the ``\unicode{}`` macro is
-``STIXGeneral, 'Arial Unicode MS'``, so if the user has :term:`STIX`
-fonts, the symbol will be taken from that (almost all the symbols are
-in `STIXGeneral`), otherwise MathJax tries `Arial Unicode MS`.
-
-The `unicode` extension is loaded automatically when you first use the
-``\unicode{}`` macro, so you do not need to add it to the `extensions`
-array. You can configure the extension as follows:
-
-.. code-block:: javascript
-
- TeX: {
- unicode: {
- fonts: "STIXGeneral, 'Arial Unicode MS'"
- }
- }
-
-
-.. _tex-commands:
-
-Supported LaTeX commands
-========================
-
-This is a long list of the TeX macros supported by MathJax. If the
-macro is defined in an extension, the name of the extension follows
-the macro name.
-
-.. code-block:: latex
-
- #
- ( )
- .
- /
- [ ]
- \!
- \#
- \$
- \%
- \&
- \:
- \;
- \\
- \_
- \{ \}
- \|
-
- A
- \above
- \abovewithdelims
- \acute
- \aleph
- \alpha
- \amalg
- \And
- \angle
- \approx
- \approxeq AMSsymbols
- \arccos
- \arcsin
- \arctan
- \arg
- \array
- \Arrowvert
- \arrowvert
- \ast
- \asymp
- \atop
- \atopwithdelims
-
- B
- \backepsilon AMSsymbols
- \backprime AMSsymbols
- \backsim AMSsymbols
- \backsimeq AMSsymbols
- \backslash
- \backslash
- \bar
- \barwedge AMSsymbols
- \Bbb
- \Bbbk AMSsymbols
- \bbFont
- \because AMSsymbols
- \begin ... \end
- \begin{align*} ... \end{align*}
- \begin{alignat*} ... \end{alignat*}
- \begin{alignat} ... \end{alignat}
- \begin{alignedat} ... \end{alignedat}
- \begin{aligned} ... \end{aligned}
- \begin{align} ... \end{align}
- \begin{array} ... \end{array}
- \begin{Bmatrix} ... \end{Bmatrix}
- \begin{bmatrix} ... \end{bmatrix}
- \begin{cases} ... \end{cases}
- \begin{eqnarray*} ... \end{eqnarray*}
- \begin{eqnarray} ... \end{eqnarray}
- \begin{equation*} ... \end{equation*}
- \begin{equation} ... \end{equation}
- \begin{gather*} ... \end{gather*}
- \begin{gathered} ... \end{gathered}
- \begin{gather} ... \end{gather}
- \begin{matrix} ... \end{matrix}
- \begin{multline*} ... \end{multline*}
- \begin{multline} ... \end{multline}
- \begin{pmatrix} ... \end{pmatrix}
- \begin{smallmatrix} ... \end{smallmatrix} AMSmath
- \begin{split} ... \end{split}
- \begin{subarray} ... \end{subarray} AMSmath
- \begin{Vmatrix} ... \end{Vmatrix}
- \begin{vmatrix} ... \end{vmatrix}
- \beta
- \beth AMSsymbols
- \between AMSsymbols
- \bf
- \Big
- \big
- \bigcap
- \bigcirc
- \bigcup
- \Bigg
- \bigg
- \Biggl
- \biggl
- \Biggm
- \biggm
- \Biggr
- \biggr
- \Bigl
- \bigl
- \Bigm
- \bigm
- \bigodot
- \bigoplus
- \bigotimes
- \Bigr
- \bigr
- \bigsqcup
- \bigstar AMSsymbols
- \bigtriangledown
- \bigtriangleup
- \biguplus
- \bigvee
- \bigwedge
- \binom AMSmath
- \blacklozenge AMSsymbols
- \blacksquare AMSsymbols
- \blacktriangle AMSsymbols
- \blacktriangledown AMSsymbols
- \blacktriangleleft AMSsymbols
- \blacktriangleright AMSsymbols
- \bmod
- \boldsymbol
- \bot
- \bowtie
- \Box AMSsymbols
- \boxdot AMSsymbols
- \boxed AMSmath
- \boxminus AMSsymbols
- \boxplus AMSsymbols
- \boxtimes AMSsymbols
- \brace
- \bracevert
- \brack
- \breve
- \buildrel
- \bullet
- \Bumpeq AMSsymbols
- \bumpeq AMSsymbols
-
- C
- \cal
- \Cap AMSsymbols
- \cap
- \cases
- \cdot
- \cdotp
- \cdots
- \centerdot AMSsymbols
- \cfrac AMSmath
- \check
- \checkmark AMSsymbols
- \chi
- \choose
- \circ
- \circeq AMSsymbols
- \circlearrowleft AMSsymbols
- \circlearrowright AMSsymbols
- \circledast AMSsymbols
- \circledcirc AMSsymbols
- \circleddash AMSsymbols
- \circledR AMSsymbols
- \circledS AMSsymbols
- \clubsuit
- \colon
- \color
- \complement AMSsymbols
- \cong
- \coprod
- \cos
- \cosh
- \cot
- \coth
- \cr
- \csc
- \Cup AMSsymbols
- \cup
- \curlyeqprec AMSsymbols
- \curlyeqsucc AMSsymbols
- \curlyvee AMSsymbols
- \curlywedge AMSsymbols
- \curvearrowleft AMSsymbols
- \curvearrowright AMSsymbols
-
- D
- \dagger
- \daleth AMSsymbols
- \dashleftarrow AMSsymbols
- \dashrightarrow AMSsymbols
- \dashv
- \dbinom AMSmath
- \ddagger
- \ddddot AMSmath
- \dddot AMSmath
- \ddot
- \ddots
- \DeclareMathOperator AMSmath
- \def
- \deg
- \Delta
- \delta
- \det
- \dfrac AMSmath
- \diagdown AMSsymbols
- \diagup AMSsymbols
- \Diamond AMSsymbols
- \diamond
- \diamondsuit
- \digamma AMSsymbols
- \dim
- \displaylines
- \displaystyle
- \div
- \divideontimes AMSsymbols
- \dot
- \Doteq AMSsymbols
- \doteq
- \doteqdot AMSsymbols
- \dotplus AMSsymbols
- \dots
- \dotsb
- \dotsc
- \dotsi
- \dotsm
- \dotso
- \doublebarwedge AMSsymbols
- \doublecap AMSsymbols
- \doublecup AMSsymbols
- \Downarrow
- \downarrow
- \downdownarrows AMSsymbols
- \downharpoonleft AMSsymbols
- \downharpoonright AMSsymbols
-
- E
- \ell
- \emptyset
- \enspace
- \epsilon
- \eqalign
- \eqalignno
- \eqcirc AMSsymbols
- \eqsim AMSsymbols
- \eqslantgtr AMSsymbols
- \eqslantless AMSsymbols
- \equiv
- \eta
- \eth AMSsymbols
- \exists
- \exp
-
- F
- \fallingdotseq AMSsymbols
- \fbox
- \Finv AMSsymbols
- \flat
- \forall
- \frac
- \frac AMSmath
- \frak
- \frown
-
- G
- \Game AMSsymbols
- \Gamma
- \gamma
- \gcd
- \ge
- \genfrac AMSmath
- \geq
- \geqq AMSsymbols
- \geqslant AMSsymbols
- \gets
- \gg
- \ggg AMSsymbols
- \gggtr AMSsymbols
- \gimel AMSsymbols
- \gnapprox AMSsymbols
- \gneq AMSsymbols
- \gneqq AMSsymbols
- \gnsim AMSsymbols
- \grave
- \gt
- \gt
- \gtrapprox AMSsymbols
- \gtrdot AMSsymbols
- \gtreqless AMSsymbols
- \gtreqqless AMSsymbols
- \gtrless AMSsymbols
- \gtrsim AMSsymbols
- \gvertneqq AMSsymbols
-
- H
- \hat
- \hbar
- \hbox
- \heartsuit
- \hom
- \hookleftarrow
- \hookrightarrow
- \hphantom
- \hskip
- \hslash AMSsymbols
- \hspace
- \Huge
- \huge
-
- I
- \idotsint AMSmath
- \iff
- \iiiint AMSmath
- \iiint
- \iint
- \Im
- \imath
- \impliedby AMSsymbols
- \implies AMSsymbols
- \in
- \inf
- \infty
- \injlim AMSmath
- \int
- \intercal AMSsymbols
- \intop
- \iota
- \it
-
- J
- \jmath
- \Join AMSsymbols
-
- K
- \kappa
- \ker
- \kern
-
- L
- \label
- \Lambda
- \lambda
- \land
- \langle
- \LARGE
- \Large
- \large
- \LaTeX
- \lbrace
- \lbrack
- \lceil
- \ldotp
- \ldots
- \le
- \leadsto AMSsymbols
- \left
- \Leftarrow
- \leftarrow
- \leftarrowtail AMSsymbols
- \leftharpoondown
- \leftharpoonup
- \leftleftarrows AMSsymbols
- \Leftrightarrow
- \leftrightarrow
- \leftrightarrows AMSsymbols
- \leftrightharpoons AMSsymbols
- \leftrightsquigarrow AMSsymbols
- \leftroot
- \leftthreetimes AMSsymbols
- \leq
- \leqalignno
- \leqq AMSsymbols
- \leqslant AMSsymbols
- \lessapprox AMSsymbols
- \lessdot AMSsymbols
- \lesseqgtr AMSsymbols
- \lesseqqgtr AMSsymbols
- \lessgtr AMSsymbols
- \lesssim AMSsymbols
- \lfloor
- \lg
- \lgroup
- \lhd AMSsymbols
- \lim
- \liminf
- \limits
- \limsup
- \ll
- \llap
- \llcorner AMSsymbols
- \Lleftarrow AMSsymbols
- \lll AMSsymbols
- \llless AMSsymbols
- \lmoustache
- \ln
- \lnapprox AMSsymbols
- \lneq AMSsymbols
- \lneqq AMSsymbols
- \lnot
- \lnsim AMSsymbols
- \log
- \Longleftarrow
- \longleftarrow
- \Longleftrightarrow
- \longleftrightarrow
- \longmapsto
- \Longrightarrow
- \longrightarrow
- \looparrowleft AMSsymbols
- \looparrowright AMSsymbols
- \lor
- \lower
- \lozenge AMSsymbols
- \lrcorner AMSsymbols
- \Lsh AMSsymbols
- \lt
- \ltimes AMSsymbols
- \lVert AMSmath
- \lvert AMSmath
- \lvertneqq AMSsymbols
-
- M
- \maltese AMSsymbols
- \mapsto
- \mathbb
- \mathbf
- \mathbin
- \mathcal
- \mathchoice
- \mathclose
- \mathfrak
- \mathinner
- \mathit
- \mathop
- \mathopen
- \mathord
- \mathpunct
- \mathrel
- \mathring AMSmath
- \mathrm
- \mathscr
- \mathsf
- \mathstrut
- \mathtt
- \matrix
- \max
- \mbox
- \measuredangle AMSsymbols
- \mho AMSsymbols
- \mid
- \min
- \mit
- \mkern
- \mod
- \models
- \moveleft
- \moveright
- \mp
- \mskip
- \mspace
- \mu
- \multimap AMSsymbols
-
- N
- \nabla
- \natural
- \ncong AMSsymbols
- \ne
- \nearrow
- \neg
- \negmedspace AMSmath
- \negthickspace AMSmath
- \negthinspace
- \neq
- \newcommand
- \newenvironment
- \newline
- \nexists AMSsymbols
- \ngeq AMSsymbols
- \ngeqq AMSsymbols
- \ngeqslant AMSsymbols
- \ngtr AMSsymbols
- \ni
- \nLeftarrow AMSsymbols
- \nleftarrow AMSsymbols
- \nLeftrightarrow AMSsymbols
- \nleftrightarrow AMSsymbols
- \nleq AMSsymbols
- \nleqq AMSsymbols
- \nleqslant AMSsymbols
- \nless AMSsymbols
- \nmid AMSsymbols
- \nobreakspace AMSmath
- \nolimits
- \nonumber
- \normalsize
- \not
- \notag
- \notin
- \nparallel AMSsymbols
- \nprec AMSsymbols
- \npreceq AMSsymbols
- \nRightarrow AMSsymbols
- \nrightarrow AMSsymbols
- \nshortmid AMSsymbols
- \nshortparallel AMSsymbols
- \nsim AMSsymbols
- \nsucc AMSsymbols
- \nsucceq AMSsymbols
- \ntriangleleft AMSsymbols
- \ntrianglelefteq AMSsymbols
- \ntriangleright AMSsymbols
- \ntrianglerighteq AMSsymbols
- \nu
- \nVDash AMSsymbols
- \nVdash AMSsymbols
- \nvDash AMSsymbols
- \nvdash AMSsymbols
- \nwarrow
-
- O
- \odot
- \oint
- \oldstyle
- \Omega
- \omega
- \omicron
- \ominus
- \operatorname AMSmath
- \oplus
- \oslash
- \otimes
- \over
- \overbrace
- \overleftarrow
- \overleftrightarrow
- \overline
- \overrightarrow
- \overset
- \overwithdelims
- \owns
-
- P
- \parallel
- \partial
- \perp
- \phantom
- \Phi
- \phi
- \Pi
- \pi
- \pitchfork AMSsymbols
- \pm
- \pmatrix
- \pmb
- \pmod
- \pod
- \Pr
- \prec
- \precapprox AMSsymbols
- \preccurlyeq AMSsymbols
- \preceq
- \precnapprox AMSsymbols
- \precneqq AMSsymbols
- \precnsim AMSsymbols
- \precsim AMSsymbols
- \prime
- \prod
- \projlim AMSmath
- \propto
- \Psi
- \psi
-
- Q
- \qquad
- \quad
-
- R
- \raise
- \rangle
- \rbrace
- \rbrack
- \rceil
- \Re
- \require
- \restriction AMSsymbols
- \rfloor
- \rgroup
- \rhd AMSsymbols
- \rho
- \right
- \Rightarrow
- \rightarrow
- \rightarrowtail AMSsymbols
- \rightharpoondown
- \rightharpoonup
- \rightleftarrows AMSsymbols
- \rightleftharpoons
- \rightleftharpoons AMSsymbols
- \rightrightarrows AMSsymbols
- \rightsquigarrow AMSsymbols
- \rightthreetimes AMSsymbols
- \risingdotseq AMSsymbols
- \rlap
- \rm
- \rmoustache
- \root
- \Rrightarrow AMSsymbols
- \Rsh AMSsymbols
- \rtimes AMSsymbols
- \Rule
- \rVert AMSmath
- \rvert AMSmath
-
- S
- \S
- \scr
- \scriptscriptstyle
- \scriptsize
- \scriptstyle
- \searrow
- \sec
- \setminus
- \sf
- \sharp
- \shortmid AMSsymbols
- \shortparallel AMSsymbols
- \shoveleft AMSmath
- \shoveright AMSmath
- \sideset AMSmath
- \Sigma
- \sigma
- \sim
- \simeq
- \sin
- \sinh
- \skew
- \small
- \smallfrown AMSsymbols
- \smallint
- \smallsetminus AMSsymbols
- \smallsmile AMSsymbols
- \smash
- \smile
- \Space
- \space
- \spadesuit
- \sphericalangle AMSsymbols
- \sqcap
- \sqcup
- \sqrt
- \sqsubset AMSsymbols
- \sqsubseteq
- \sqsupset AMSsymbols
- \sqsupseteq
- \square AMSsymbols
- \stackrel
- \star
- \strut
- \Subset AMSsymbols
- \subset
- \subseteq
- \subseteqq AMSsymbols
- \substack AMSmath
- \succ
- \succapprox AMSsymbols
- \succcurlyeq AMSsymbols
- \succeq
- \succnapprox AMSsymbols
- \succneqq AMSsymbols
- \succnsim AMSsymbols
- \succsim AMSsymbols
- \sum
- \sup
- \Supset AMSsymbols
- \supset
- \supseteq
- \supseteqq AMSsymbols
- \surd
- \swarrow
-
- T
- \tag
- \tan
- \tanh
- \tau
- \tbinom AMSmath
- \TeX
- \text
- \textbf
- \textit
- \textrm
- \textstyle
- \tfrac AMSmath
- \therefore AMSsymbols
- \Theta
- \theta
- \thickapprox AMSsymbols
- \thicksim AMSsymbols
- \thinspace
- \tilde
- \times
- \Tiny
- \tiny
- \to
- \top
- \triangle
- \triangledown AMSsymbols
- \triangleleft
- \trianglelefteq AMSsymbols
- \triangleq AMSsymbols
- \triangleright
- \trianglerighteq AMSsymbols
- \tt
- \twoheadleftarrow AMSsymbols
- \twoheadrightarrow AMSsymbols
-
- U
- \ulcorner AMSsymbols
- \underbrace
- \underleftarrow
- \underleftrightarrow
- \underline
- \underrightarrow
- \underset
- \unicode
- \unlhd AMSsymbols
- \unrhd AMSsymbols
- \Uparrow
- \uparrow
- \Updownarrow
- \updownarrow
- \upharpoonleft AMSsymbols
- \upharpoonright AMSsymbols
- \uplus
- \uproot
- \Upsilon
- \upsilon
- \upuparrows AMSsymbols
- \urcorner AMSsymbols
-
- V
- \varDelta AMSsymbols
- \varepsilon
- \varGamma AMSsymbols
- \varinjlim AMSmath
- \varkappa AMSsymbols
- \varLambda AMSsymbols
- \varliminf AMSmath
- \varlimsup AMSmath
- \varnothing AMSsymbols
- \varOmega AMSsymbols
- \varPhi AMSsymbols
- \varphi
- \varPi AMSsymbols
- \varpi
- \varprojlim AMSmath
- \varpropto AMSsymbols
- \varPsi AMSsymbols
- \varrho
- \varSigma AMSsymbols
- \varsigma
- \varTheta AMSsymbols
- \vartheta
- \vartriangle AMSsymbols
- \vartriangleleft AMSsymbols
- \vartriangleright AMSsymbols
- \varUpsilon AMSsymbols
- \varXi AMSsymbols
- \vcenter
- \Vdash AMSsymbols
- \vDash AMSsymbols
- \vdash
- \vdots
- \vec
- \vee
- \veebar AMSsymbols
- \verb
- \Vert
- \vert
- \vphantom
- \Vvdash AMSsymbols
-
- W
- \wedge
- \widehat
- \widetilde
- \wp
- \wr
-
- X
- \Xi
- \xi
- \xleftarrow AMSmath
- \xrightarrow AMSmath
-
- Y
- \yen AMSsymbols
-
- Z
- \zeta
-
diff --git a/docs/rst/typeset.rst b/docs/rst/typeset.rst
@@ -1,229 +0,0 @@
-.. _typeset-math:
-
-**************************
-Modifying Math on the Page
-**************************
-
-If you are writing a dynamic web page where content containing
-mathematics may appear after MathJax has already typeset the rest of
-the page, then you will need to tell MathJax to look for mathematics
-in the page again when that new content is produced. To do that, you
-need to use the :meth:`MathJax.Hub.Typeset()` method. This will cause
-the preprocessors (if any were loaded) to run over the page again, and
-then MathJax will look for unprocessed mathematics on the page and
-typeset it, leaving unchanged any math that has already been typeset.
-
-You should not simply call this method directly, however. Because
-MathJax operates asynchonously (see :ref:`Synchronizing with MathJax
-<synchronization>` for details), you need to be sure that
-your call to :meth:`MathJax.Hub.Typeset()` is synchronized with the
-other actions that MathJax is taking. For example, it may already be
-typesetting portions of the page, or it may be waiting for an output
-jax to load, etc., and so you need to queue to typeset action to be
-performed after MathJax has finished whatever else it may be doing.
-That may be immediately, but it may not, and there is no way to tell.
-
-To queue the typeset action, use the command
-
-.. code-block:: javascript
-
- MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
-
-This will cause MathJax to typeset the page when it is next able to do
-so. It guarantees that the typesetting will synchronize properly
-with the loading of jax, extensions, fonts, stylesheets, and other
-asynchornous activity, and is the only truely safe way to ask MathJax
-to process additional material.
-
-The :meth:`MathJax.Hub.Typeset()` command also accepts a parameter
-that is a DOM element whose contents is to be typeset. That could be
-a paragraph, or a ``<div>`` element, or even a MathJax math
-``<script>`` tag. It could also be a the DOM `id` of such an object, in
-which case, MathJax will look up the DOM element for you. So
-
-.. code-block:: javascript
-
- MathJax.Hub.Queue(["Typeset",MathJax.Hub,"MathExample"]);
-
-would typeset the mathematics contained in the element whose `id` is
-``MathExample``. This is equivalent to
-
-.. code-block:: javascript
-
- var math = document.getElementById("MathExample");
- MathJax.Hub.Queue(["Typeset",MathJax.Hub,math]);
-
-If no element or element `id` is provided, the whole document is
-typeset.
-
-Note that the :meth:`MathJax.Hub.Queue()` method will return
-immediately, regardless of whether the typesetting has taken place or
-not, so you can not assume that the mathematics is visible after you
-make this call. That means that things like the size of the container
-for the mathematics may not yet reflect the size of the typeet
-mathematics. If you need to perform actions that depend on the
-mathematics being typeset, you should push *those* actions onto the
-``MathJax.Hub.queue`` as well.
-
-This can be quite subtle, so you have to think carefully about the
-structure of your code that works with the typeset mathematics. Also,
-the things you push onto the queue should be `Callback` objects that
-perform the actions you want when they are called, not the *results*
-of calling the functions that do what you want.
-
-
-Manipulating Individual Math Elements
-=====================================
-
-If you are not changing a complete DOM structure, but simply want to
-update the contents of a single mathematical equation, you do not need
-to use ``innerHTML`` and :meth:`MathJax.Hub.Typeset()` to preprocess
-and process an elements new content. Instead, you can ask MathJax to
-find the `element jax` for the math element on the page, and use its
-methods to modify and update the mathematics that it displays.
-
-For example, suppose you have the following HTML in your document
-
-.. code-block:: html
-
- <div id="MathDiv">
- The answer you provided is: ${}$.
- </div>
-
-and MathJax has already preprocessed and typeset the mathematics
-within dollar signs (it will be blank). A student has typed
-something elsewhere on the page, and you want to typeset their answer
-in the location of the mathematics that is already there. You could
-replace the entire contents of the `MathDiv` element and call
-:meth:`MathJax.Hub.Typeset()` as described above, but there is more
-efficient approach, which is to ask MathJax for the element jax for
-the mathematics, and call its method for replacing the formula shown
-by that element. For example:
-
-.. code-block:: javascript
-
- var math = MathJax.Hub.getAllJax("MathDiv")[0];
- MathJax.Hub.Queue(["Text",math,"x+1"]);
-
-This looks up the list of math elements in `MathDiv` element (there is
-only one) and takes the first one (element 0) and stores it in
-``math``. This is an `element jax` object (see the :ref:`Element Jax
-<api-element-jax>` specification for details), which has a
-:meth:`Text()` method that can be used to set the input text of the
-math element, and retypeset it.
-
-Again, since the typesetting should be synchronized with other actions
-of MathJax, the call should be pushed onto the ``MathJax.Hub.queue``,
-as shown above, rather than called directly. The example above
-performs the equivalent of ``math.Text("x+1")`` as soon as MathJax is
-able to do so. Any additional actions the rely on the equation
-``x+1`` actually showing on screen should also be pushed onto the
-queue so that they will not occur before the math is typeset.
-
-The actions you can perform on an element jax include:
-
- .. describe:: Text(newmath)
-
- to set the math text of the element to `newmath` and typeset.
-
- .. describe:: Reprocess()
-
- to remove the output and reproduce it again (for
- example, if CSS has changed that would alter the spacing of the
- mathematics).
-
- .. describe:: Remove()
-
- to remove the output for this math element (but not
- the original ``<script>`` tag).
-
- .. describe:: SourceElement()
-
- to obtain a reference to the original
- ``<script>`` object that is assocaited with this element jax.
-
-
-Note that once you have located an element jax, you can keep using it
-and don't have to look it up again. So for the example above, if the
-student is going to be able to type several different answers that you
-will want to typeset, you can look up the element jax once at the
-beginning after MathJax has processed the page the first time, and
-then use that result each time you adjust the mathematics to be
-displayed.
-
-To get the element jax the first time, you need to be sure that you
-ask MathJax for it **after** MathJax has processed the page the first
-time. This is another sitaution where you want to use the MathJax
-queue. If your startup code performs the commands
-
-.. code-block:: javascript
-
- var studentDisplay = null;
- MathJax.Hub.Queue(function () {
- studentDisplay = MathJax.Hub.getAllJax("MathDiv");
- });
-
-then you can use
-
-.. code-block:: javascript
-
- MathJax.Hub.Queue(["Text",studentDisplay,studentAnswer])
-
-to change the student's answer to be the typeset version of whatever
-is in the ``studentAnswer`` variable.
-
-Here is a complete example that illustrates this approach
-
-.. code-block:: html
-
- <html>
- <head>
- <title>MathJax Dynamic Math Test Page</title>
-
- <script src="/MathJax/MathJax.js">
- MathJax.Hub.Config({
- extensions: ["tex2jax.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
- });
- </script>
-
- </head>
- <body>
-
- <script>
- //
- // Use a closure to hide the local variables from the
- // global namespace
- //
- (function () {
- var QUEUE = MathJax.Hub.queue; // shorthand for the queue
- var math = null; // the element jax for the math output.
-
- //
- // Get the element jax when MathJax has produced it.
- //
- QUEUE.Push(function () {
- math = MathJax.Hub.getAllJax("MathOutput")[0];
- });
-
- //
- // The onchange event handler that typesets the
- // math entered by the user
- //
- window.UpdateMath = function (TeX) {
- QUEUE.Push(["Text",math,"\\displaystyle{"+TeX+"}"]);
- }
- })();
- </script>
-
- Type some TeX code:
- <input id="MathInput" size="50" onchange="UpdateMath(this.value)" />
- <p>
-
- <div id="MathOutput">
- You typed: ${}$
- </div>
-
- </body>
- </html>
diff --git a/docs/rst/CSS-styles.rst b/docs/source/CSS-styles.rst
diff --git a/docs/rst/HTML-snippets.rst b/docs/source/HTML-snippets.rst
diff --git a/docs/source/_static/mathjax_mathml.user.js b/docs/source/_static/mathjax_mathml.user.js
@@ -0,0 +1,18 @@
+// ==UserScript==
+// @name MathJax MathML
+// @namespace http://www.mathjax.org/
+// @description Insert MathJax into pages containing MathML
+// @include *
+// ==/UserScript==
+
+if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
+ if ((document.getElementsByTagName("math").length > 0) ||
+ (document.getElementsByTagNameNS == null ? false :
+ (document.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math").length > 0))) {
+ var script = document.createElement("script");
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+ var config = 'MathJax.Hub.Startup.onload()';
+ if (window.opera) {script.innerHTML = config} else {script.text = config}
+ document.getElementsByTagName("head")[0].appendChild(script);
+ }
+}
diff --git a/docs/source/_static/mathjax_wikipedia.user.js b/docs/source/_static/mathjax_wikipedia.user.js
@@ -0,0 +1,31 @@
+// ==UserScript==
+// @name MathJax in Wikipedia
+// @namespace http://www.mathjax.org/
+// @description Insert MathJax into Wikipedia pages
+// @include http://en.wikipedia.org/wiki/*
+// ==/UserScript==
+
+if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
+ //
+ // Replace the images with MathJax scripts of type math/tex
+ //
+ var images = document.getElementsByTagName('img'), count = 0;
+ for (var i = images.length - 1; i >= 0; i--) {
+ var img = images[i];
+ if (img.className === "tex") {
+ var script = document.createElement("script"); script.type = "math/tex";
+ if (window.opera) {script.innerHTML = img.alt} else {script.text = img.alt}
+ img.parentNode.replaceChild(script,img); count++;
+ }
+ }
+ if (count) {
+ //
+ // Load MathJax and have it process the page
+ //
+ var script = document.createElement("script");
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+ var config = 'MathJax.Hub.Startup.onload()';
+ if (window.opera) {script.innerHTML = config} else {script.text = config}
+ document.getElementsByTagName("head")[0].appendChild(script);
+ }
+}
diff --git a/docs/source/api/ajax.rst b/docs/source/api/ajax.rst
@@ -0,0 +1,214 @@
+.. _api-ajax:
+
+***********************
+The MathJax.Ajax Object
+***********************
+
+The `MathJax.Ajax` structure holds the data and functions for handling
+loading of external modules. Modules are loaded only once, even if
+called for in several places. The loading of files is asynchronous,
+and so the code that requests an external module will continue to run
+even when that module has not completed loading, so it is important to
+be aware of the timing issues this may cause. Similarly, creating or
+loading stylesheets is an asynchronous action. In particular, all
+actions that rely on the file or stylesheet having been loaded must be
+delayed until after the file has been downloaded completely. This is
+the reason for the large number of routines that take callback
+functions.
+
+Any operation that could cause the loading of a file or stylesheet
+must be synchronized with the rest of the code via such callbacks.
+Since processing any mathematics might cause files to be loaded (e.g.,
+little-used markup might be implemented in an extension that is loaded
+only when that markup is used), any code that dynamically typesets
+mathematics will need to be structured to use callbacks to guarantee
+that the mathematics has been completely processed before the code
+tries to use it. See the :ref:`Synchronizing with MathJax <synchronization>`
+documentation for details on how to do this properly.
+
+
+Properties
+==========
+
+.. describe:: timeout
+
+ Number of milliseconds to wait for a file to load before
+ it is considered to have failed to load.
+
+ *Default:* 15 seconds
+
+.. describe:: STATUS.OK
+
+ The value used to indicate that a file load has occurred
+ successfully.
+
+.. describe:: STATUS.ERROR
+
+ The value used to indicate that a file load has caused an error or
+ a timeout to occur.
+
+.. describe:: loaded
+
+ An object containing the names of the files that have been loaded (or
+ requested) so far. ``MathJax.Ajax.loaded["file"]`` will be
+ non-``null`` when the file has been loaded, with the value being
+ the ``MathJax.Ajax.STATUS`` value of the load attempt.
+
+.. describe:: loading
+
+ An object containing the files that are currently loading, the
+ callbacks that are to be run when they load or timeout, and
+ additional internal data.
+
+.. describe:: loadHooks
+
+ An object containing the load hooks for the various files, set up by
+ the :meth:`loadHook()` method, or by the
+ :meth:`MathJax.Hub.Register.LoadHook()` method.
+
+
+Methods
+=======
+
+.. method:: Require(file[,callback])
+
+ Loads the given file if it hasn't been already. The file must be a
+ JavaScript file or a CSS stylesheet; i.e., it must end in ``.js``
+ or ``.css``. Alternatively, it can be an object with a single
+ `key:value` pair where the `key` is one of ``js`` or ``css`` and
+ the `value` is the file of that type to be loaded (this makes it
+ possible to have the file be created by a CGI script, for example,
+ or to use a ``data::`` URL). The file must be relative to the
+ MathJax home directory and can not contain ``../`` file path
+ components.
+
+ When the file is completely loaded and run, the `callback`, if
+ provided, will be executed passing it the status of the file load.
+ If there was an error while loading the file, or if the file fails
+ to load within the time limit given by ``MathJax.Ajax.timout``,
+ the status will be ``MathJax.Ajax.STATUS.ERROR`` otherwise it
+ will be ``MathJax.Ajax.STATUS.OK``. If the file is already
+ loaded, the callback will be called immediately and the file will
+ not be loaded again.
+
+ :Parameters:
+ - **file** --- name of the file to be loaded
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. method:: Load(file[,callback])
+
+ Used internally to load a given file without checking if it
+ already has been loaded, or where it is to be found.
+
+ :Parameters:
+ - **file** --- name of the file to be loaded
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. method:: loadComplete(file)
+
+ Called from within the loaded files to inform MathJax that the
+ file has been completely loaded and initialized. The `file`
+ parameter is the name of the file that has been loaded. This
+ routine will cause any callback functions registered for the file
+ or included in the :meth:`MathJax.Ajax.Require()` calls to be
+ executed, passing them the status or the load
+ (``MathJax.Ajax.STATUS.OK`` or ``MathJax.Ajax.STATUS.ERROR``) as
+ their last parameter.
+
+ :Parameters:
+ - **file** --- name of the file that has been loaded
+ :Returns: ``null``
+
+.. method:: loadTimeout(file)
+
+ Called when the timeout period is over and the file hasn't loaded.
+ This indicates an error condition, and the
+ :meth:`MathJax.Ajax.loadError()` method will be executed, then the
+ file's callback will be run with ``MathJax.Ajax.STATUS.ERROR`` as
+ its parameter.
+
+ :Parameters:
+ - **file** --- name of the file that timed out
+ :Returns: ``null``
+
+.. method:: loadError(file)
+
+ The default error handler called when a file fails to load. It
+ puts a warning message into the MathJax message box on screen.
+
+ :Parameters:
+ - **file** --- the name of the file that failed to load
+ :Returns: ``null``
+
+.. method:: loadHook(file,callback)
+
+ Registers a callback to be executed when the given file is
+ loaded. The file load operation need to be started when this
+ method is called, so it can be used to register a hook for a file
+ that may be loaded in the future.
+
+ :Parameters:
+ - **file** --- the name of the file to wait for
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. method:: Preloading(file1[,file2...])
+
+ Used withing combined configuration files to indicate what files are
+ in the configuration file. Marks the files are loading (since there
+ will never be an explicit :meth:`Load()` or :meth:`Require()` call for
+ then), so that load-hooks and other load-related events can be
+ properly processed.
+
+ :Parameters:
+ - **file1, file2, ...** --- the names of the files in the combined file
+ :Returns: ``null``
+
+.. method:: Styles(styles[,callback])
+
+ Creates a stylesheet from the given style data. `styles` can
+ either be a string containing a stylesheet definition, or an
+ object containing a :ref:`CSS Style Object <css-style-objects>`.
+ For example:
+
+ .. code-block:: javascript
+
+ MathJax.Ajax.Styles("body {font-family: serif; font-style: italic}");
+
+ and
+
+ .. code-block:: javascript
+
+ MathJax.Ajax.Styles({
+ body: {
+ "font-family": "serif",
+ "font-style": "italic"
+ }
+ });
+
+ both set the body font family and style.
+
+ The callback routine is called when the stylesheet has been
+ created and is available for use.
+
+ :Parameters:
+ - **styles** --- CSS style object for the styles to set
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+ .. note::
+
+ Internet Explorer has a limit of 32 dynamically created
+ stylesheets, so it is best to combine your styles into one
+ large group rather than making several smaller calls.
+
+.. method:: fileURL(file)
+
+ Returns a complete URL to a file (replacing ``[MathJax]`` with the
+ actual root URL location).
+
+ :Parameters:
+ - **file** --- the file name possibly including ``[MathJax]``
+ :Returns: the full URL for the file
diff --git a/docs/rst/api/callback.rst b/docs/source/api/callback.rst
diff --git a/docs/source/api/elementjax.rst b/docs/source/api/elementjax.rst
@@ -0,0 +1,125 @@
+.. _api-element-jax:
+
+****************************
+The MathJax.ElementJax Class
+****************************
+
+The element jax is the bridge between the input and output jax, and
+contains the data produced by the input jax needed by the output jax
+to display the results. It is tied to the individual ``<script>`` tag
+that produced it, and is the object used by JavaScript programs to
+interact with the mathematics on the page.
+
+An element jax is stored in the ``jax.js`` file in a subdirectory of
+the ``jax/element`` directory, with the subdirectory name being the
+name of the element jax. Currently, there is only one element jax
+class, the `mml` element jax, and it is stored in ``jax/element/mml``.
+
+The `MathJax.ElementJax` class is a subclass of the :ref:`MathJax Jax
+<api-jax>` class, and inherits the properties and methods of that
+class. Those listed below are the additional or overridden ones from
+that class.
+
+
+Class Properties
+================
+
+.. describe:: id
+
+ The name of the jax.
+
+.. describe:: version
+
+ The version number of the jax.
+
+.. describe:: directory
+
+ The directory where the jax files are stored (e.g., ``"[MathJax]/jax/element/mml"``);
+
+
+Instance Properties
+===================
+
+.. describe:: inputJax
+
+ A reference to the input jax that created the element. (In the
+ future, this will be changed to the name of the input jax.)
+
+.. describe:: outputJax
+
+ A reference to the output jax that has processed this element. (In
+ the future, this will be changed to the name of the output jax.)
+
+.. describe:: inputID
+
+ The DOM `id` of the ``<script>`` tag that generated this element
+ (if it doesn't have one initially, the MathJax hub will supply
+ one). Note that this is not a reference to the element itself;
+ that element will have a reference to this element jax, and if
+ `inputID` were a reference back, that would cause a reference
+ loop, which some browsers would not free properly during trash
+ collection, thus causing a memory leak.
+
+.. describe:: originalText
+
+ A string indicating the original input text that was processed for
+ this element. (In the future, this may be managed by the input jax
+ rather than ``MathJax.Hub``.)
+
+.. describe:: mimeType
+
+ The MIME-type of the element jax (`jax/mml` in the case of an
+ `mml` element jax).
+
+Other data specific to the element jax subclass may also appear here.
+
+
+Methods
+=======
+
+.. Method:: Text(text[,callback])
+
+ Sets the input text for this element to the given text and
+ reprocesses the mathematics. (I.e., update the equation to the
+ new one given by `text`). When the processing is complete, the
+ `callback`, if any, is called.
+
+ :Parameters:
+ - **text** --- the new mathematic source string for the element
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. Method:: Reprocess([callback])
+ :noindex:
+
+ Remove the output and produce it again. This may be necessary if
+ there are changes to the CSS styles that would affect the layout
+ of the mathematics, for example. The `callback`, if any, is
+ called when the process completes.
+
+ :Parameters:
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. Method:: Remove()
+ :noindex:
+
+ Removes the output for this element from the web page (but does
+ not remove the original ``<script>``). The ``<script>`` will be
+ considered unprocessed, and the next call to
+ :meth:`MathJax.hub.Typeset()` will re-display it.
+
+ :Returns: ``null``
+
+.. Method:: SourceElement()
+
+ Returns a reference to the original ``<script>`` DOM element
+ associated to this element jax.
+
+ :Returns: the ``<script>`` element
+
+Output jax may add new methods to the base element jax class to
+perform exporting to other formats. For example, a MathML output jax
+could add ``toMathML()``, or an accessibility output jax could add
+``toAudible()``. These could be made available via the MathJax
+contextual menu.
diff --git a/docs/source/api/html.rst b/docs/source/api/html.rst
@@ -0,0 +1,133 @@
+.. _api-html:
+
+***********************
+The MathJax.HTML Object
+***********************
+
+The ``MathJax.HTML`` object provides routines for creating HTML
+elements and adding them to the page, and int particular, it contains
+the code that processes MathJax's :ref:`HTML snippets <html-snippets>`
+and turns them into actual DOM objects. It also implements the
+methods used to manage the cookies used by MathJax.
+
+
+Properties
+==========
+
+.. describe:: Cookie.prefix: "mjx"
+
+ The prefix used for names of cookies stored by MathJax.
+
+.. describe:: Cookie.expires: 365
+
+ The expiration time (in days) for cookies created by MathJax.
+
+
+Methods
+=======
+
+.. method:: Element(type[,attributes[,contents]])
+
+ Creates a DOM element of the given type. If `attributes` is
+ non-``null``, it is an object that contains `key:value` pairs of
+ attributes to set for the newly created element. If `contents` is
+ non-``null``, it is an :ref:`HTML snippet <html-snippets>` that
+ describes the contents to create for the element. For example
+
+ .. code-block:: javascript
+
+ var div = MathJax.HTML.Element(
+ "div",
+ {id: "MathDiv", style:{border:"1px solid", padding:"5px"}},
+ ["Here is math: $x+1$",["br"],"and a display $$x+1\\over x-1$$"]
+ );
+
+ :Parameters:
+ - **type** --- node type to be created
+ - **attributes** --- object specifying attributes to set
+ - **contents** --- HTML snippet representing contents of node
+ :Returns: the DOM element created
+
+.. method:: addElement(parent,type[,attributes[,content]])
+
+ Creates a DOM element and appends it to the `parent` node
+ provided. It is equivalent to
+
+ .. code-block:: javascript
+
+ parent.appendChild(MathJax.HTML.Element(type,attributes,content))
+
+ :Parameters:
+ - **parent** --- the node where the element will be added
+ - **attributes** --- object specifying attributes to set
+ - **contents** --- HTML snippet representing contents of node
+ :Returns: the DOM element created
+
+.. method:: TextNode(text)
+
+ Creates a DOM text node with the given text as its content.
+
+ :Parameters:
+ - **text** --- the text for the node
+ :Returns: the new text node
+
+.. method:: addText(parent,text)
+
+ Creates a DOM text node with the given text and appends it to the
+ `parent` node.
+
+ :Parameters:
+ - **parent** --- the node where the text will be added
+ - **text** --- the text for the new node
+ :Returns: the new text node
+
+.. method:: setText(script,text)
+
+ Sets the contents of the ``script`` element to be the given
+ ``text``, properly taking into account the browser limitations and
+ bugs.
+
+ :Parameters:
+ - **script** --- the script whose content is to be set
+ - **text** --- the text that is to be the script's new content
+ :Returns: ``null``
+
+.. describe:: Cookie.Set(name,data)
+
+ Creates a MathJax cookie using the ``MathJax.HTML.Cookie.prefix``
+ and the `name` as the cookie name, and the `key:value` pairs in
+ the `data` object as the data for the cookie. For example,
+
+ .. code-block:: javascript
+
+ MathJax.HTML.Cookie.Set("test",{x:42, y:"It Works!"});
+
+ will create a cookie named "mjx.test" that stores the values of
+ ``x`` and ``y`` provided in the `data` object. This data can be
+ retrieved using the :meth:`MathJax.HTML.Cookie.Get()` method
+ discussed below.
+
+ :Parameters:
+ - **name** --- the name that identifies the coookie
+ - **data** --- object containing the data to store in the cookie
+ :Returns: ``null``
+
+.. describe:: Cookie.Get(name[,obj])
+
+ Looks up the data for the cookie named `name` and merges the data
+ into the given `obj` object, or returns a new object containing
+ the data. For instance, given the cookie stored by the example
+ above,
+
+ .. code-block:: javascript
+
+ var data = MathJax.HTML.Cookie.Get("test");
+
+ would set ``data`` to ``{x:42, y:"It Works!"}``, while
+
+ .. code-block:: javascript
+
+ var data = {x:10, z:"Safe"};
+ MathJax.HTML.Cookie.Get("test",data);
+
+ would leave ``data`` as ``{x:42, y:"It Works!", z:"Safe"}``.
diff --git a/docs/source/api/hub.rst b/docs/source/api/hub.rst
@@ -0,0 +1,344 @@
+.. _api-hub:
+
+**********************
+The MathJax.Hub Object
+**********************
+
+The MathJax Hub, `MathJax.Hub`, is the main control structure for
+MathJax. It is where input and output :term:`jax` are tied together,
+and it is what handles processing of the MathJax ``<script>`` tags.
+Processing of the mathematics on the page may require external files
+to be loaded (when the mathematics includes less common functionality,
+for example, that is defined in an extension file), and since file
+loading is asynchronous, a number of the methods below may return
+before their actions are completed. For this reason, they include
+callback functions that are called when the action completes. These
+can be used to synchronize actions that require the mathematics to be
+completed before those action occur. See the :ref:`Using Callbacks
+<using-callbacks>` documentation for more details.
+
+
+Properties
+==========
+
+.. describe:: config: { ... }
+
+ This holds the configuration parameters for MathJax. Set these
+ values using :meth:`MathJax.Hub.Config()` described below. The
+ options and their default values are given in the :ref:`Core
+ Options <configure-hub>` reference page.
+
+.. describe:: processUpdateTime: 250
+
+ The minimum time (in milliseconds) between updates of the
+ "Processing Math" message.
+
+.. describe:: signal
+
+ The hub processing signal (tied to the
+ :meth:`MathJax.Hub.Register.MessageHook()` method).
+
+.. describe:: queue
+
+ MathJax's main processing queue. Use :meth:`MathJax.Hub.Queue()` to push
+ callbacks onto this queue.
+
+.. describe:: Browser
+
+ The name of the browser as determined by MathJax. It will be one
+ of ``Firefox``, ``Safari``, ``Chrome``, ``Opera``, ``MSIE``,
+ ``Konqueror``, or ``unkown``. This is actually an object with
+ additional properties and methods concerning the browser:
+
+ .. describe:: version
+
+ The browser version number, e.g., ``"4.0"``
+
+ .. describe:: isMac and isPC
+
+ These are boolean values that indicate whether the browser is
+ running on a Macintosh computer or a Windows computer. They
+ will both be ``false`` for a Linux computer
+
+ .. describe:: isForefox, isSafari, isChrome, isOpera, isMSIE, isKonqueror
+
+ These are ``true`` when the browser is the indicated one, and
+ ``false`` otherwise.
+
+ .. describe:: versionAtLeast(version)
+
+ This tests whether the browser version is at least that given
+ in the `version` string. Note that you can not simply do a
+ numeric comparison, as version 4.10 should be considered later
+ than 4.9, for example. Similarly, 4.10 is different from 4.1,
+ for instance.
+
+ .. describe:: Select(choices)
+
+ This lets you perform browser-specific functions. Here,
+ `choices` is an object whose properties are the names of the
+ browsers and whose values are the functions to be performed.
+ Each function is passed one parameter, which is the
+ ``MathJax.Hub.Browser`` object. You do not need to include
+ every browser as one of your choices (only those for which you
+ need to do special processing. For example:
+
+ .. code-block:: javascript
+
+ MathJax.Hub.Browser.Select(
+ MSIE: function (browser) {
+ if (browser.versionAtLeast("8.0")) {... do version 8 stuff ... }
+ ... do general MSIE stuff ...
+ },
+
+ Firefox: function (browser) {
+ if (browser.isMac) {... do Mac stuff ... }
+ ... do general Firefox stuff
+ }
+ );
+
+Methods
+=======
+
+.. Method:: Config(options)
+
+ Sets the configuration options (stored in ``MathJax.Hub.config``)
+ to the values stored in the `options` object. See
+ :ref:`Configuring MathJax <configuration>` for details on how this
+ is used and the options that you can set.
+
+ :Parameters:
+ - **options** --- object containing options to be set
+ :Returns: ``null``
+
+.. describe:: Configured()
+
+ When ``delayStartupUntil`` is specified in the configuration file or
+ in the script that loads ``MathJax.js``, MathJax's startup sequence is
+ delayed until this routine is called. See :ref:`Configuring MathJax
+ <configuration>` for details on how this is used.
+
+ :Returns: ``null``
+
+.. describe:: Register.PreProcessor(callback)
+
+ Used by preprocessors to register themselves with MathJax so that
+ they will be called during the :meth:`MathJax.Hub.PreProcess()`
+ action.
+
+ :Parameters:
+ - **callback** --- the callback specification for the preprocessor
+ :Returns: ``null``
+
+.. describe:: Register.MessageHook(type,callback)
+
+ Registers a listener for a particular message being sent to the
+ hub processing signal (where `PreProcessing`, `Processing`, and
+ `New Math` messages are sent). When the message equals the
+ `type`, the `callback` will be called with the message as its
+ parameter.
+
+ :Parameters:
+ - **type** --- a string indicating the message to look for
+ - **callback** --- a callback specification
+ :Returns: ``null``
+
+.. describe:: Register.StartupHook(type,callback)
+
+ Registers a listener for a particular message being sent to the
+ startup signal (where initialization and component startup
+ messages are sent). When the message equals the `type`, the
+ `callback will be called with the message as its parameter.
+ See the :ref:`Using Signals <using-signals>` dcocumentation for
+ more details.
+
+ :Parameters:
+ - **type** --- a string indicating the message to look for
+ - **callback** --- a callback specification
+ :Returns: ``null``
+
+.. describe:: Register.LoadHook(file,callback)
+
+ Registers a callback to be called when a particular file is
+ completely loaded and processed. (The callback is called when the
+ file makes its :meth:`MathJax.Ajax.loadComplete()` call.) The
+ `file` should be the complete file name, e.g.,
+ ``"[MathJax]/config/MathJax.js"``.
+
+ :Parameters:
+ - **file** --- the name of the file to wait for
+ - **callback** --- a callback specification
+ :Returns: the callback object
+
+.. Method:: Queue(callback,...)
+ :noindex:
+
+ Pushes the given callbacks onto the main MathJax command queue.
+ This synchronizes the commands with MathJax so that they will be
+ performed in the proper order even when some run asynchronously.
+ See :ref:`Using Queues <using-queues>` for more details about how
+ to use queues, and the MathJax queue in particular. You may
+ supply as many `callback` specifications in one call to the
+ :meth:`Queue()` method as you wish.
+
+ :Parameters:
+ - **callback** --- a callback specification
+ :Returns: the callback object for the last callback added to the queue
+
+.. Method:: Typeset([element[,callback]])
+
+ Calls the preprocessors on the given element, and then typesets
+ any math elements within the element. If no `element` is
+ provided, the whole document is processed. The `element` is
+ either the DOM `id` of the element, or a reference to the DOM
+ element itself. The `callback` is called when the process is
+ complete. See the :ref:`Modifying Math <typeset-math>` section
+ for details of how to use this method properly.
+
+ :Parameters:
+ - **element** --- the element whose math is to be typeset
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. method:: PreProcess([element[,callback]])
+
+ Calls the loaded preprocessors on the entire document, or on the
+ given DOM element. The `element` is either the DOM `id` of the
+ element, or a reference to the DOM element itself. The `callback`
+ is called when the processing is complete.
+
+ :Parameters:
+ - **element** --- the element to be preprocessed
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. method:: Process([element[,callback]])
+
+ Scans either the entire document or a given DOM `element` for
+ MathJax ``<script>`` tags and processes the math those tags
+ contain. The `element` is either the DOM `id` of the element to
+ scan, or a reference to the DOM element itself. The `callback` is
+ called when the processing is complete.
+
+ :Parameters:
+ - **element** --- the element to be processed
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. method:: Update([element[,callback]])
+
+ Scans either the entire document or a given DOM element for
+ mathematics that has changed since the last time it was processed,
+ or is new, and typesets the mathematics they contain. The
+ `element` is either the DOM `id` of the element to scan, or a
+ reference to the DOM element itself. The `callback` is called
+ when the processing is complete.
+
+ :Parameters:
+ - **element** --- the element to be updated
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. method:: Reprocess([element[,callback]])
+
+ Removes any typeset mathematics from the document or DOM
+ element, and then processes the mathematics again,
+ re-typesetting everything. This may be necessary, for example, if
+ the CSS styles have changed and those changes would affect the
+ mathematics. The `element` is either the DOM `id` of the element
+ to scan, or a reference to the DOM element itself. The `callback`
+ is called when the processing is complete.
+
+ :Parameters:
+ - **element** --- the element to be reprocessed
+ - **callback** --- the callback specification
+ :Returns: the callback object
+
+.. method:: getAllJax([element])
+
+ Returns a list of all the element jax in the document or a
+ specific DOM element. The `element` is either the DOM `id` of the
+ element, or a reference to the DOM element itself.
+
+ :Parameters:
+ - **element** --- the element to be searched
+ :Returns: array of `element jax` objects
+
+.. method:: getJaxByType(type[,element])
+
+ Returns a list of all the element jax of a given MIME-type in the
+ document or a specific DOM element. The `element` is either the
+ DOM `id` of the element to search, or a reference to the DOM
+ element itself.
+
+ :Parameters:
+ - **type** --- MIME-type of `element jax` to find
+ - **element** --- the element to be searched
+ :Returns: array of `element jax` objects
+
+.. method:: getJaxByInputType(type[,element])
+
+ Returns a list of all the element jax associated with input
+ ``<script>`` tags with the given MIME-type within the given DOM
+ element or the whole document. The `element` is either the DOM
+ `id` of the element to search, or a reference to the DOM element
+ itself.
+
+ :Parameters:
+ - **type** --- MIME-type of input (e.g., ``"math/tex"``)
+ - **element** --- the element to be searched
+ :Returns: array of `element jax` objects
+
+.. method:: getJaxFor(element)
+
+ Returns the element jax associated with a given DOM
+ element. If the element does not have an associated element jax,
+ ``null`` is returned. The `element` is either the DOM `id` of the
+ element, or a reference to the DOM element itself.
+
+ :Parameters:
+ - **element** --- the element whose element jax is required
+ :Returns: `element jax` object or ``null``
+
+.. method:: isJax(element)
+
+ Returns ``0`` if the element is not a ``<script>`` that can be
+ processed by MathJax or the result of an output jax, returns ``-1``
+ if element is an unprocessed ``<script>`` tag that could be
+ handled by MathJax, and returns ``1`` if element is a processed
+ ``<script>`` tag or an element that is the result of an output jax.
+
+ :Parameters:
+ - **element** --- the element to inspect
+ :Returns: integer (-1, 0, 1)
+
+.. Method:: Insert(dst,src)
+
+ Inserts data from the `src` object into the `dst` object. The
+ `key:value` pairs in `src` are (recursively) copied into `dst`, so
+ that if `value` is itself an object, its contents is copied into
+ the corresponding object in `dst`. That is, objects within `src`
+ are merged into the corresponding objects in `dst` (they don't
+ replace them).
+
+ :Parameters:
+ - **dst** --- the destination object
+ - **src** --- the source object
+ :Returns: the modified destination object
+
+.. Method:: formatError(script,error)
+
+ This is called when an internal error occurs during the processing
+ of a math element (i.e., an error in the MathJax code itself).
+ The `script` is a reference to the ``<script>`` tag where the
+ error occurred, and `error` is the ``Error`` object for the error.
+ The default action is to insert an HTML snippet at the location of
+ the script, but this routine can be overriden durring MathJax
+ configuration in order to perform some other action.
+ ``MathJax.Hub.lastError`` holds the ``error`` value of the last
+ error on the page.
+
+ :Parameters:
+ - **script** --- the ``<script>`` tag causing the error
+ - **error** --- the ``Error`` object for the error
+ :Returns: ``null``
diff --git a/docs/rst/api/index.rst b/docs/source/api/index.rst
diff --git a/docs/source/api/inputjax.rst b/docs/source/api/inputjax.rst
@@ -0,0 +1,89 @@
+.. _api-input-jax:
+
+**************************
+The MathJax.InputJax Class
+**************************
+
+Input jax are the components of MathJax that translate
+mathematics from its original format (like :term:`TeX` or
+:term:`MathML`) to the MathJax internal format (an `element jax`).
+
+An input jax is stored as a pair of files in a subdirectory of the
+``jax/input`` directory, with the subdirectory name being the name of
+the input jax. For example, the TeX input jax is stored in
+`jax/input/TeX`. The first file, ``config.js``, is loaded when
+MathJax is being loaded and configured, and is indicated by listing
+the input jax directory in the `jax` array of the MathJax
+configuration. The ``config.js`` file creates a subclass of the
+`MathJax.InputJax` object for the new input jax and registers that
+with MathJax, along with the MIME-type that will be used to indicate
+the mathematics that is to be processed by the input jax.
+
+The main body of the input jax is stored in the second file,
+``jax.js``, which is loaded when the input jax is first called on to
+translate some mathematics. This file augments the original input jax
+subclass with the additional methods needed to do the translation.
+MathJax calls the input jax's :meth:`Translate()` method when it needs
+the input jax to translate the contents of a math ``<script>`` tag.
+
+The `MathJax.InputJax` class is a subclass of the :ref:`MathJax Jax
+<api-jax>` class, and inherits the properties and methods of that
+class. Those listed below are the additional or overridden ones from
+that class.
+
+
+Properties
+==========
+
+.. describe:: id
+
+ The name of the jax.
+
+.. describe:: version
+
+ The version number of the jax.
+
+.. describe:: directory
+
+ The directory where the jax files are stored (e.g., ``"[MathJax]/jax/input/TeX"``);
+
+.. describe:: elementJax
+
+ The name of the ElementJax class that this input jax will produce
+ (typically ``mml``, as that is the only ElementJax at the moment).
+
+
+Methods
+=======
+
+.. Method:: Translate(script)
+ :noindex:
+
+ This is the main routine called by MathJax when a ``<script>`` of the
+ appropriate type is found. The default :meth:`Translate()` method
+ throws an error indicating that :meth:`Translate()` hasn't been
+ redefined, so when the ``jax.js`` file loads, it should override the
+ default :meth:`Translate()` with its own version that does the actual
+ translation.
+
+ The translation process should include the creation of an
+ :ref:`Element Jax <api-element-jax>` that stores the data needed
+ for this element.
+
+ :Parameters:
+ - **script** --- the ``<script>`` element to be translated
+ :Returns: the `element jax` resulting from the translation
+
+.. Method:: Register(mimetype)
+ :noindex:
+
+ This registers the MIME-type associated with this input jax so
+ that MathJax knows to call this input jax when it sees a
+ ``<script>`` of that type. An input jax can register more than
+ one type, but it will be responsible for distinguishing elements
+ of the various types from one another.
+
+ :Parameters:
+ - **mimetype** --- the MIME-type of the input this jax processes
+ :Returns: ``null``
+
diff --git a/docs/source/api/jax.rst b/docs/source/api/jax.rst
@@ -0,0 +1,157 @@
+.. _api-jax:
+
+******************
+The Base Jax Class
+******************
+
+The `MathJax.InputJax`, `MathJax.OutputJax` and `MathJax.ElementJax`
+classes are all subclasses of the base `Jax` class in MathJax. This
+is a private class that implements the methods common to all three
+other jax classes.
+
+Unlike most MathJax.Object classes, calling the class object creates a
+*subclass* of the class, rather than an instance of the class. E.g.,
+
+.. code-block:: javascript
+
+ MathJax.InputJax.MyInputJax = MathJax.InputJax({
+ id: "MyInputJax",
+ version: "1.0",
+ ...
+ });
+
+creates ``MathJax.InputJax.MyInputJax`` as a subclass of ``MathJax.InputJax``.
+
+
+Class Properties
+================
+
+.. describe:: directory
+
+ The name of the jax directory (usually ``"[MathJax]/jax").
+ Overridden in the subclass to be the specific directory for the
+ class, e.g. ``"[MathJax]/jax/input"``.
+
+.. describe:: extensionDir
+
+ The name of the extensions directory (usually ``"[MathJax]/extensions"``).
+
+
+Instance Properties
+===================
+
+.. describe:: id
+
+ The name of the jax.
+
+.. describe:: version
+
+ The version number of the jax.
+
+.. describe:: directory
+
+ The directory for the jax (e.g., ``"[MathJax]/jax/input/TeX"``).
+
+.. describe:: require: null
+
+ An array of files to load before the ``jax.js`` file calls the
+ :meth:`MathJax.Ajax.loadComplete()` method.
+
+.. describe:: config: {}
+
+ An object that contains the default configuration options for the
+ jax. These can be modified by the author by including a
+ configuration subsection for the specific jax in question.
+
+
+Methods
+=======
+
+.. Method:: Process(script)
+ :noindex:
+
+ This is the method that the ``MathJax.Hub`` calls when it needs the
+ input or output jax to process the given math ``<script>``. Its
+ default action is to start loading the jax's ``jax.js`` file, and
+ redefine itself to simplu return the callback for the laod operation
+ (so that further calls to it will cause the processing to wait for the
+ callback). Once the ``jax.js`` file has loaded, this method is
+ replaced by the jax's :meth:`Translate()` method, so that subsequent calls
+ to :meth:`Process()` will perform the appropriate translation.
+
+ :Parameters:
+ - **script** --- reference to the DOM ``<script>`` object for
+ the mathematics to be translated
+ :Returns: an `ElementJax` object, or ``null``
+
+.. Method:: Translate(script)
+
+ This is a stub for a routine that should be defined by the jax's
+ ``jax.js`` file when it is loaded. It should perform the translation
+ action for the specific jax. For an input jax, it should return the
+ `ElementJax` object that it created. The :meth:`Translate()` mehtod is
+ never called directly by MathJax; during the :meth:`loadComplete()`
+ call, this funciton is copied to the :meth:`Process()` method, and is
+ called via that name. The default :meth:`Translate()` method throws an
+ error indicating that the :meth:`Translate()` meth was not been
+ redefined. That way, if the ``jax.js`` file fails to load for some
+ reason, you will receive an error trying to process mathematics with
+ this jax.
+
+ :Parameters:
+ - **script** --- reference to the DOM ``<script>`` object for
+ the mathematics to be translated
+ :Returns: an `ElementJax` object, or ``null``
+
+.. Method:: Register(mimetype)
+
+ This method is overridden in the `InputJax`, `OutputJax` and
+ `ElementJax` subclasses to handle the registration of those
+ classes of jax.
+
+ :Parameters:
+ - **mimetype** --- the MIME-type to be associated with the jax
+ :Returns: ``null``
+
+.. Method:: Config()
+ :noindex:
+
+ Inserts the configuration block for this jax from the author's
+ configuration specification into the jax's ``config`` property.
+ If the configuration includes an ``Augment`` object, that is used
+ to augment the jax (that is, the configuration can override the
+ methods of the object, as well as the data). This is called
+ automatically during the loading of the ``jax.js`` file.
+
+.. Method:: Startup()
+
+ This is a method that can be overridden in the subclasses to
+ perform initialization at startup time (after the configuration
+ has occurred).
+
+.. Method:: loadComplete (file)
+ :noindex:
+
+ This is called by the ``config.js`` and ``jax.js`` files when they
+ are completely loaded and are ready to signal that fact to
+ MathJax. For ``config.js``, this simply calls the
+ :meth:`MathJax.Ajax.loadComplete()` method for the ``config.js``
+ file. For ``jax.js``, the actions performed here are the
+ following:
+
+ 1. Post the "[name] Jax Config" message to the startup signal.
+ 2. Perform the jax's :meth:`Config()` method.
+ 3. Post the "[name] Jax Require" message to the startup signal.
+ 4. Load the files from the jax's ``require`` and
+ ``config.extensions`` arrays.
+ 5. Post the "[name] Jax Startup" message to the startup signal.
+ 6. Perform the jax's :meth:`Startup()` method.
+ 7. Post the "[name] Jax Ready" message to the startup signal.
+ 8. perform the :meth:`MathJax.Ajax.loadComplete()` call for the
+ ``jax.js`` file.
+
+ Note that the configuration process (the :meth:`Config()` call) can
+ modify the ``require`` or ``config.extensions`` arrays to add more
+ files that need to be loaded, and that the :meth:`Startup()` method
+ isn't called until those files are completely loaded.
+
diff --git a/docs/source/api/message.rst b/docs/source/api/message.rst
@@ -0,0 +1,119 @@
+.. _api-message:
+
+**************************
+The MathJax.Message Object
+**************************
+
+The ``MathJax.Message`` object contains the methods used to manage the
+small message area that appears at the lower-left corner of the
+window. MathJax uses this area to inform the user of time-consuming
+actions, like loading files and fonts, or how far along in the
+typesetting process it is.
+
+The page author can customize the look of the message window by
+setting styles for the ``#MathJax_Message`` selector (which can be
+set via
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ styles: {
+ "#MathJax_Message": {
+ ...
+ }
+ }
+ });
+
+Because of a bug in Internet Explorer, in order to change the side of
+the screen where the the message occurs, you must also set the side
+for ``#MathJax_MSIE_Frame``, as in
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ styles: {
+ "#MathJax_Message": {left: "", right: 0},
+ "#MathJax_MSIE_Frame": {left: "", right: 0}
+ }
+ });
+
+
+It is possible that a message is already being displayed when another
+message needs to be posted. For this reason, when a message is
+displayed on screen, it gets an id number that is used when you want
+to remove or change that message. That way, when a message is
+removed, the previous message (if any) can be redisplayed if it hasn't
+been removed. This allows for intermittent messages (like file
+loading messages) to obscure longer-term message (like "Processing
+Math" messages) temporarily.
+
+
+Methods
+=======
+
+.. method:: Set(message,[n,[delay]])
+
+ This sets the message being displayed to the given `message`
+ string. If `n` is not ``null``, it represents a message id
+ number and the text is set for that message id, otherwise a new id
+ number is created for this message. If `delay` is provided, it is
+ the time (in milliseconds) to display the message before it is
+ cleared. If `delay` is not provided, the message will not be
+ removed automatically; you must call the
+ :meth:`MathJax.Messsage.Clear()` method by hand to remove it.
+
+ :Parameters:
+ - **message** --- the text to display in the message area
+ - **n** --- the message id number
+ - **delay** --- amout of time to display the message
+ :Returns: the message id number for this message.
+
+.. method:: Clear(n[,delay])
+
+ This causes the message with id `n` to be removed after the given
+ `delay`, in milliseconds. The default delay is 600 milliseconds.
+
+ :Parameters:
+ - **n** --- the message id number
+ - **delay** --- the delay before removing the message
+ :Returns: ``null``
+
+.. method:: Remove()
+
+ This removes the message frame from the window (it will reappear when
+ future messages are set, however).
+
+ :Returns: ``null``
+
+.. method:: File(file)
+
+ This sets the message area to a "Loading *file*" message, where *file*
+ is the name of the file (with ``[MathJax]`` representing the root
+ directory).
+
+ :Parameters:
+ - **file** --- the name of the file being loaded.
+ :Returns: the message id number for the message created.
+
+.. method:: filterText(text,n)
+
+ This method is called on each message before it is displayed. It can
+ be used to modify (e.g., shorten) the various messages before they are
+ displayed. The default action is to check of the ``messageStyle``
+ configuration parameter is ``simple``, and if so, convert loading and
+ processing messages to a simpler form. This method can be overridden
+ to perform other sanitization of the message strings.
+
+ :Parameters:
+ - **text** --- the text of the message to be posted
+ - **n** --- the id number of the message to be posted
+ :Returns: the modified message text
+
+.. method:: Log()
+
+ Returns a string of all the messages issued so far, separated by
+ newlines. This is used in debugging MathJax operations.
+
+ :Returns: string of all messages so far
+
+
diff --git a/docs/rst/api/object.rst b/docs/source/api/object.rst
diff --git a/docs/source/api/outputjax.rst b/docs/source/api/outputjax.rst
@@ -0,0 +1,97 @@
+.. _api-output-jax:
+
+***************************
+The MathJax.OutputJax Class
+***************************
+
+Output jax are the components of MathJax that translate
+mathematics from the MathJax internal format (an `element jax`)
+to whatever output is required to represent the mathematics (e.g.,
+MathML elements, or HTML-with-CSS that formats the mathematics on screen).
+
+An output jax is stored as a pair of files in a subdirectory of the
+the ``jax/output`` directory, with the subdirectory name being the
+name of the output jax. For example, the NativeMML output jax is
+stored in `jax/output/NativeMML`. The first file, ``config.js``, is
+loaded when MathJax is being loaded and configured, and is indicated
+by listing the input jax directory in the `jax` array of the MathJax
+configuration. The ``config.js`` file creates a subclass of the
+`MathJax.OutputJax` object for the new output jax and registers it
+with MathJax, along with the MIME-type of the element jax that it can
+process.
+
+The main body of the output jax is stored in the second file, ``jax.js``,
+which is loaded when the output jax is first called on to translate
+some mathematics. This file augments the original output jax
+subclass with the additional methods needed to produce the output.
+MathJax calls the input jax's :meth:`Translate()` method when it needs
+the output jax to translate an element jax to produce output.
+
+The `MathJax.OutputJax` class is a subclass of the :ref:`MathJax Jax
+<api-jax>` class, and inherits the properties and methods of that
+class. Those listed below are the additional or overridden ones from
+that class.
+
+
+Properties
+==========
+
+.. describe:: id
+
+ The name of the jax.
+
+.. describe:: version
+
+ The version number of the jax.
+
+.. describe:: directory
+
+ The directory where the jax files are stored (e.g., ``"[MathJax]/jax/output/HTML-CSS"``);
+
+
+Methods
+=======
+
+.. Method:: Translate(script)
+ :noindex:
+
+ This is the main routine called by MathJax when an element jax is
+ to be converted to output. The default :meth:`Translate()`
+ method throws an error indicating that :meth:`Translate()` hasn't been
+ redefined, so when the ``jax.js`` file loads, it should override the
+ default :meth:`Translate()` with its own version that does the actual
+ translation.
+
+ You should use ``MathJax.Hub.getJaxFor(script)`` to obtain the
+ element jax for the given script. The translation process may
+ modify the element jax (e.g., if it has data that needs to be
+ stored with the jax), and may insert DOM elements into the
+ document near the jax's ``<script>`` tag.
+
+ :Parameters:
+ - **script** --- the ``<script>`` element to be translated
+ :Returns: the `element jax` resulting from the translation
+
+.. Method:: Register(mimetype)
+ :noindex:
+
+ This registers the MIME-type for the element jax associated with
+ this output jax so that MathJax knows to call this jax when it
+ wants to display an element jax of that type. Several output jax
+ may register for the same input jax, in which case the first one
+ to register will be the default one for that type.
+
+ :Parameters:
+ - **mimetype** --- the MIME-type of the input this jax processes
+ :Returns: ``null``
+
+.. Method:: Remove(jax)
+ :noindex:
+
+ Removes the output associated with the given element jax. The
+ routine can use ``jax.SourceElement()`` to locate the ``<script>``
+ tag associated with the element jax.
+
+ :Parameters:
+ - **jax** --- the element jax whose display should be removed
+ :Returns: ``null``
diff --git a/docs/rst/api/queue.rst b/docs/source/api/queue.rst
diff --git a/docs/rst/api/signal.rst b/docs/source/api/signal.rst
diff --git a/docs/rst/api/variable.rst b/docs/source/api/variable.rst
diff --git a/docs/rst/callbacks.rst b/docs/source/callbacks.rst
diff --git a/docs/source/community.rst b/docs/source/community.rst
@@ -0,0 +1,59 @@
+*********************
+The MathJax Community
+*********************
+
+If you are an active MathJax user, you may wish to become involved in
+the wider community of MathJax users. The MathJax project maintains
+forums where users can ask questions about how to use MathJax, make
+suggestions about future features for MathJax, and present their own
+solutions to problems that they have faced. There is also a
+bug-traking system where you can report errors that you have found
+with MathJax in your environment.
+
+
+.. _community-forums:
+
+Forums
+======
+
+If you need help using MathJax or you have solutions you want to share, please
+use the `MathJax Users Google Group
+<http://groups.google.com/group/mathjax-users>`_. We try hard to answer
+questions quickly, and users are welcome to help with that as well. Also, users
+can post code snippets showing how they have used MathJax, so it may be a good
+place to find the examples you are looking for.
+
+If you want to discuss MathJax development, please use the `MathJax Dev Google
+Group <http://groups.google.com/group/mathjax-dev>`_. We made this group
+to discuss anything beyond what an end-user might be interested in, so if you
+having any suggestions or questions about MathJax performance, technology, or
+design, feel free to submit it to the group.
+
+The community is only as good as the users who participate, so if
+you have something to offer, please take time to make a post on one of
+our groups.
+
+
+.. _community-tracker:
+
+Issue tracking
+==============
+
+Found a bug or want to suggest an improvement? Post it to our `issue tracker
+<http://github.com/mathjax/MathJax/issues>`_. We monitor the tracker closely,
+and work hard to respond to problems quickly.
+
+Before you create a new issue, however, please search the issues to see if it
+has already been reported. You could also be using an outdated version of
+MathJax, so be sure to :ref:`upgrade your copy <getting-mathjax-git>` to verify
+that the problem persists in the lastest version.
+
+
+.. _badge:
+
+"Powered by MathJax"
+====================
+
+If you are using MathJax and want to show your support, please consider using
+our `"Powered by MathJax" badge
+<http://www.mathjax.org/community/mathjax-badge>`_.
diff --git a/docs/source/conf.py b/docs/source/conf.py
@@ -0,0 +1,197 @@
+# -*- coding: utf-8 -*-
+#
+# MathJax documentation build configuration file, created by
+# sphinx-quickstart on Sun May 16 23:18:19 2010.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+sys.path.append(os.path.abspath('.'))
+
+# -- General configuration -----------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = []
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'MathJax'
+copyright = u'2011 Design Science'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '1.1'
+# The full version, including alpha/beta/rc tags.
+release = '1.1'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of documents that shouldn't be included in the build.
+#unused_docs = []
+
+# List of directories, relative to source directory, that shouldn't be searched
+# for source files.
+exclude_trees = ['_build']
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+#highlight_language = 'javascript'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+html_theme = 'mjtheme'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further. For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+html_theme_path = ['.']
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_use_modindex = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+html_show_sourcelink = False
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = ''
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'MathJaxdoc'
+
+
+# -- Options for LaTeX output --------------------------------------------------
+
+# The paper size ('letter' or 'a4').
+#latex_paper_size = 'letter'
+
+# The font size ('10pt', '11pt' or '12pt').
+#latex_font_size = '10pt'
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass [howto/manual]).
+latex_documents = [
+ ('index', 'MathJax.tex', u'MathJax Documentation',
+ u'Davide Cervone, Casey Stark, Robert Miner, Paul Topping', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# Additional stuff for the LaTeX preamble.
+#latex_preamble = ''
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_use_modindex = True
diff --git a/docs/source/config-files.rst b/docs/source/config-files.rst
@@ -0,0 +1,192 @@
+.. _common-configurations:
+
+*********************
+Common Configurations
+*********************
+
+MathJax comes with a number of pre-defined configuration files in the
+``MathJax/config`` directory. The ``default.js`` file contains nearly all
+the possible configuration options together with comments explaining them,
+so you can use that file to customize MathJax to your needs. Simply load
+it via
+
+.. code-block:: html
+
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js?config=default"></script>
+
+where ``path-to-MathJax`` is the URL to the MathJax directory on your
+server or hard disk.
+
+The remaining files are combined configuration files that include not just
+configuration parameters but also the files that MathJax would need to
+load for those configurations. This means MathJax will have to load fewer
+files, and since each file access requires establishing connections over
+the network, it can be better to load one larger file than several smaller
+ones. See :ref:`Loading and Configuring MathJax <loading>` for more
+details about how to load configurations, and how to modify the parameters
+for a configuration file.
+
+The following sections describe the contents of the combined configuration
+files. Each comes in two flavors: a standard version and a "full" version.
+The standard version simply defines the output processor(s) that are part
+of the configuration, but doesn't load the code that implements the output
+processor; the full version loads the complete output processors, so
+everything that MathJax needs for the page should be loaded up front, and
+there will be no delay once the page is ready to be processed. To obtain
+the "full" version, add ``-full`` to the end of the configuration file
+name.
+
+
+The ``TeX-AMS-MML_HTMLorMML`` configuration file
+================================================
+
+This configuration file is the most general of the pre-defined
+configurations. It loads all the important MathJax components, including
+the TeX and MathML preprocessors and input processors, the AMSmath,
+AMSsymbols, noErrors, and noUndefined TeX extensions, both the native
+MathML and HTML-with-CSS output processor definitions, and the MathMenu and
+MathZoom extensions. It is equivalent to the following configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ config: ["MMLorHTML.js"],
+ jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"],
+ extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
+ TeX: {
+ extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
+ }
+ });
+
+In addition, it loads the mml Element Jax, the TeX and MathML input jax
+main code (not just the definition files), as well as the `toMathML`
+extension, which is used by the Show Source option in the MathJax
+contextual menu. The full version also loads both the HTML-CSS and
+NativeMML output jax main code, plus the HTML-CSS `mtable` extension, which
+is normally loaded on demand.
+
+See the :ref:`tex2jax configuration <configure-tex2jax>` section for
+other configuration options for the ``tex2jax`` preprocessor, and the
+:ref:`TeX input jax configuration <configure-TeX>` section for options
+that control the TeX input processor.
+See the :ref:`mml2jax configuration <configure-mml2jax>` section for
+other configuration options for the ``mml2jax`` preprocessor, and the
+:ref:`MathML input jax configuration <configure-MathML>` section for
+options that control the MathML input processor.
+See :ref:`MathJax Output Formats <output-formats>` for more
+information on the NativeMML and HTML-CSS output processors. See the
+:ref:`MMLorHTML configuration <configure-MMLorHTML>` section for
+details on the options that control the ``MMLorHTML`` configuration.
+
+
+The ``TeX-AMS_HTML`` configuration file
+================================================
+
+This configuration file is for sites that only use TeX format for their
+mathematics, and that want the output to be as close to TeX output as
+possible. This uses the HTML-CSS output jax (even when the user's browser
+understands MathML). The user can still use the MathJax contextual menu
+to select the NativeMML output jax if they desire.
+
+This file includes all the important MathJax components for TeX input and
+output, including the `tex2jax` preprocessor and TeX input jax, the
+AMSmath, AMSsymbols, noErrors, and noUndefined TeX extensions, the
+HTML-with-CSS output processor definition, and the MathMenu and MathZoom
+extensions. It is equivalent to the following configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js","MathMenu.js","MathZoom.js"],
+ TeX: {
+ extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
+ }
+ });
+
+In addition, it loads the mml Element Jax and the TeX input jax main code
+(not just the definition file), as well as the `toMathML` extension, which
+is used by the Show Source option in the MathJax contextual menu. The full
+version also loads the HTML-CSS output jax main code, plus the HTML-CSS
+`mtable` extension, which is normally loaded on demand.
+
+See the :ref:`tex2jax configuration <configure-tex2jax>` section for
+other configuration options for the ``tex2jax`` preprocessor, and the
+:ref:`TeX input jax configuration <configure-TeX>` section for options
+that control the TeX input processor.
+See :ref:`MathJax Output Formats <output-formats>` for more
+information on the HTML-CSS output processor.
+
+
+The ``MML_HTMLorMML`` configuration file
+================================================
+
+This configuration file is for sites that only use MathML format for their
+mathematics. It will use MathML output in browsers where that is
+supported, and HTML-CSS output otherwise. The user can still use the
+MathJax contextual menu to select the other output format if they desire.
+
+This file includes all the important MathJax components for MathML input
+and output, including the `mml2jax` preprocessor and MathML input jax, the
+NativeMML and HTML-CSS output processor definition files, and the MathMenu
+and MathZoom extensions. It is equivalent to the following configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ config: ["MMLorHTML.js"],
+ jax: ["input/MathML","output/HTML-CSS","output/NativeMML"],
+ extensions: ["mml2jax.js","MathMenu.js","MathZoom.js"]
+ });
+
+In addition, it loads the mml Element Jax and the MathML input jax main
+code (not just the definition file), as well as the `toMathML` extension,
+which is used by the Show Source option in the MathJax contextual menu.
+The full version also loads both the HTML-CSS and NativeMML output jax main
+code files, plus the HTML-CSS `mtable` extension, which is normally loaded
+on demand.
+
+See the :ref:`mml2jax configuration <configure-mml2jax>` section for
+other configuration options for the ``mml2jax`` preprocessor, and the
+:ref:`MathML input jax configuration <configure-MathML>` section for
+options that control the MathML input processor.
+See :ref:`MathJax Output Formats <output-formats>` for more
+information on the NativeMML and HTML-CSS output processors. See the
+:ref:`MMLorHTML configuration <configure-MMLorHTML>` section for
+details on the options that control the ``MMLorHTML`` configuration.
+
+
+The ``Accessible`` configuration file
+================================================
+
+This configuration file is essentially the same as
+``TeX-AMS-MML_HTMLorMML`` except that it includes configuration that is
+designed for assitive technology, particularly for those with visual
+challenges. It is equivalent to the following configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ config: ["MMLorHTML.js"],
+ jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"],
+ extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
+ TeX: {
+ extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
+ },
+ NativeMML: { showMathMenuMSIE: false },
+ menuSettings: { zoom: "Double-Click" },
+ errorSettings: { message: ["[Math Error]"] }
+ });
+
+This turns off the MathJax contextual Message for Internet Explorer, since
+it can interfere with some screen readers. It also sets the zoom trigger
+to double-click, so that readers can see a larger version of the
+mathematics but double-clicking on any equation.
+
+In addition, it loads the mml Element Jax, the TeX and MathML input jax
+main code (not just the definition files), as well as the `toMathML`
+extension, which is used by the Show Source option in the MathJax
+contextual menu. The full version also loads both the HTML-CSS and
+NativeMML output jax main code, plus the HTML-CSS `mtable` extension, which
+is normally loaded on demand.
+
diff --git a/docs/source/configuration.rst b/docs/source/configuration.rst
@@ -0,0 +1,418 @@
+.. _loading:
+
+*******************************
+Loading and Configuring MathJax
+*******************************
+
+You load MathJax into a web page by including its main JavaScript file
+into the page. That is done via a ``<script>`` tag that links to the
+``MathJax.js`` file. To do that, place the following line in the ``<head>``
+section of your document:
+
+.. code-block:: html
+
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
+
+where ``path-to-MathJax`` is replaced by the URL of the copy of MathJax
+that you are loading. For example, if you are using the MathJax
+distributed network service, the tag might be
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js">
+ </script>
+
+If you have installed MathJax yourself, ``path-to-MathJax`` will be the
+location of MathJax on your server, or (if you are using MathJax locally
+rather than through a server) the location of that directory on your hard
+disk. For example, if the MathJax directory is at the top level of your
+web server's directory hierarchy, you might use
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+
+to load MathJax.
+
+If you install MathJax on a server in a domain that is different from the
+one containing the page that will load MathJax, then there are issues
+involved in doing so that you need to take into consideration. See the
+:ref:`Notes About Shared Servers <cross-domain-linking>` for more details.
+
+When you load MathJax, it is common to include additional parameters for
+MathJax as part of the URL. These control MathJax's configuration, and are
+discussed in the :ref:`Configuration Objects <configuration>` section. A
+typical invocation of MathJax would be
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+
+which loads MathJax with a configuration file that includes everything you
+need in order to enter mathematics in either TeX, LaTeX, or MathML
+notation, and produces output using MathML if the browser supports that,
+or HTML-with-CSS otherwise. If you **don't** load an explicit
+configuration file, you will need to include an in-line configuration
+block in order to tell MathJax how to read and display the mathematics on
+your pages. See the section below for details.
+
+It is best to load MathJax in the document's ``<head>`` block, but it
+is also possible to load MathJax into the ``<body>`` section, if
+needed. If you do this, load it as early as possible, as
+MathJax will begin to load its components as soon as it is included in
+the page, and that will help speed up the processing of the
+mathematics on your page. MathJax does expect there to be a
+``<head>`` section to the document, however, so be sure there is one
+if you are loading MathJax in the ``<body>``.
+
+It is also possible to load MathJax dynamically after the page has
+been prepared, for example, via a `GreaseMonkey
+<http://www.greasespot.net/>`_ script, or using a specially prepared
+`bookmarklet <http://en.wikipedia.org/wiki/Bookmarklet>`_. This is an
+advanced topic, however; see :ref:`Loading MathJax Dynamically
+<ajax-mathjax>` for more details.
+
+.. _loading-CDN:
+
+Loading MathJax from the CDN
+============================
+
+MathJax is now available as a web service from ``cdn.mathjax.org``, so you
+can obtain MathJax from there without needing to install it on your own
+server. The CDN is part of a distributed "cloud" network, so it is
+handled by servers around the world. That means that you should get acces
+to a server geographically near you, for a fast, reliable connection.
+
+The CDN hosts the most current version of MathJax, as well as older
+versions, so you can either link to a version that stays up-to-date as
+Mathjax is improved, or you can stay with one of the release versions so
+that you pages always use the same version of MathJax.
+
+The URL that you use to obtain MathJax determines the version that you
+get. The CDN has the following directory structure:
+
+.. code-block:: sh
+
+ mathjax/ # project-name
+ 1.0-latest/
+ 1.1-beta/ # temporary
+ 1.1-latest/ # the 1.1 release with any ciritical patches
+ ...
+ latest/ # the most current version (1.1-latest in this case)
+
+Each directory corresponds to an official MathJax release; however,
+hotfixes (urgent bug fixes) will be applied in each release branch as
+necessary, even if new releases are not prepared. In other words,
+``1.1-latest`` will initially point to v1.1, but over time may be updated
+with patches that would correspond to releases that might be numbers 1.1a,
+1.1b, etc., even if such releases are not actually prepared for
+distribution (they likely won't be).
+
+We may occasionally introduce directories for betas, as indicated above,
+but they will be temprorary, and will be removed after the official
+release.
+
+To load from a particular release, use the directory for that release.
+For example,
+
+.. code-block:: html
+
+ <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/1.1-latest/MathJax.js"></script>
+
+will load the stable v1.1 version, even if we release v1.2 or other later
+versions, while
+
+.. code-block:: html
+
+ <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
+
+will always be the most current stable release, so it will go from v1.1 to
+v1.2 autmatically when that is released. Note that all the versions
+available on the CDN are stable versions; the development version is not
+hosted on the CDN.
+
+The use of ``cdn.mathjax.org`` is governed by its `terms of service
+<http://www.mathjax.org/download/mathjax-cdn-terms-of-service/>`_, so be
+sure to read that before linked to the MathJax CDN server.
+
+
+Configuring MathJax
+===================
+
+There are two ways to configure MathJax: via a configuration file, or by
+including configuration commands wthin the web page itself. These can be
+used independently, or in combination. For example, you can load a main
+pre-defined configuration file, but include in-line commands to
+adjust the configuration to your needs.
+
+Note that you must use at least one of these two forms of configuration.
+Unlike earlier versions of MathJax, version 1.1 does not load a default
+configuration file. If you have been using version 1.0's
+``config/MathJax.js`` for your configuration, you will need to load that
+configuration file explicitly via a ``config`` parameter, as described
+below.
+
+
+.. _config-files:
+
+Using a configuration file
+==========================
+
+The first way to configure MathJax is to use a configuration file.
+MathJax comes with a number of pre-defined configuration files, which are
+stored in the ``MathJax/config`` directory. Among these are the following
+
+.. describe:: default.js
+
+ A file that contains nearly all the configuration options with comments
+ describing them, which you can edit to suit your needs.
+
+.. describe:: TeX-AMS-MML_HTMLorMML.js
+
+ Allows math to be specified in TeX, LaTeX, or MathML notation, with the
+ `AMSmath` and `AMSsymbols` packages included, producing output using
+ MathML if the browser supports it, and HTML-with-CSS otherwise.
+
+.. describe:: TeX-AMS_HTML.js
+
+ Allows math to be specified in TeX or LaTeX notation (with the
+ `AMSmath` and `AMSsymbols` packages included, and produces output
+ using the HTML-CSS output processor.
+
+.. describe:: MML_HTMLorMML.js
+
+ Allows math to be specified using MathML notation, and produces MathML
+ output if the browser supports it, or HTML-CSS output otherwise.
+
+.. describe:: Accessible.js
+
+ Essentially the same as ``TeX-AMS-MML_HTMLorMML``, but with some
+ settings specified to make MathJax work better with assistive
+ technology (for the visually impaired). This includes setting the
+ zoom trigger to be a double-click, and removing the MathMenu in
+ Internet Explorer (which can interfere with some screen readers).
+
+The first of these is a file that you can edit to suit your needs. It
+contains nearly all the configuration options that MathJax allows, and has
+comments explaining them. The others are what are called `combined
+configuration files`, which not only configure MathJax, but also pre-load the
+various files that the configuration requires. (The contents of these
+files are explained in more detail in the `Common Configurations
+<common-configurations>`_ section.)
+
+Usually, MathJax loads its components only when they are needed, but each
+component will require a separate file to be loaded, and that can cause
+delays before the mathematics is displayed. The combined configuration
+files load the majority of the needed files all as one large file, reducing
+the number of network requests that are needed. That means you will
+probably be getting the componets that MathJax needs faster than you would
+without the combined file, but you may be loading components that are never
+actually used; that is the trade off.
+
+Each of the combined configuration files comes in two flavors: the ones
+listed above, which only configure the output processors but don't include
+the main code, and a "full" version, that also includes the complete
+output processors. For example, with ``TeX-AMS_HTML.js`` and
+``TeX-AMS_HTML-full.js``, the latter includes the complete HTML-CSS output
+processor. The "full" configuration files are substantially larger (on
+the order of 70KB), so you need to decide whether it is worth loading the
+full configuraiton for your pages.
+
+If most of your pages include mathematics, then it is to your advantage to
+load the full version, but if you are including MathJax in a theme file for
+a blog or wiki that only includes mathematics occasionally, then perhaps it
+is better to use the standard configuration instead, in which case the
+output processors are only loaded when they are actually needed, saving the
+loading of 70KB for pages that don't. Of course, if your server is
+configured to compress the files it sends, the difference between the two
+is considerably reduced. Furthermore, most browsers will cache the
+javascript they receive, so the download cost should only occur on the
+first page a user views, so it may be best to use the "full" version after
+all. Note, however, that mobile devices sometimes have limits on the size
+of files that they cache, so they may be forced to download the
+configuration on every page. You need to keep these issues in mind as you
+decide on which configuration to use.
+
+To load a configuration file, use ``config=filename`` (where ``filename``
+is one of the names above without the ``.js``) as a parameter to the URL of
+the ``MathJax.js`` file. For example
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+
+loads the ``config/TeX-AMS-MML_HTMLorMML.js`` configuration file from the
+MathJax distributed network service.
+
+You can include more than one configuration file by separating them with
+commas. For example, if you have a locally defined configuration file
+called ``MathJax/config/local/local.js`` that modifies the settings for the
+``TeX-AMS_HML`` configuration, defines some new TeX macros, and so on, you
+can use
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,local/local.js">
+ </script>
+
+to first load the main configuraiton, then the local modifications.
+
+
+Using in-line configuration options
+===================================
+
+The second way to configure MathJax is through `in-line configuration`,
+that puts the configuration options within the web page itself. This
+process has changed in version 1.1 to make it compatible with HTML5.
+Earlier versions of MathJax had in-line configuration included within the
+content of the ``<script>`` tag that loads ``MathJax.js``, but HTML5 makes
+it illegal to have content for a script with a ``src`` attribute.
+
+MathJax solves this problem by using separate ``<script>`` tags to perform
+configuration for MathJax. Because MathJax starts its configuration
+process as soon as it is loaded, the configuration script must come
+**before** the script tag that loads ``MathJax.js`` itself. You do this
+by including a ``<script>`` with ``type="text/x-mathjax-config"``, whose
+content will be run when MathJax performs its configuration. Generally,
+this script will include a :meth:`MathJax.Hub.Config()` call to perform
+MathJax configuration, but it can also include other MathJax commands,
+such as registering signal actions, or any JavaScript commands that you
+want. You can have as many such script tags as you want, and MathJax will
+process them in order as they appear in the document.
+
+For instance,
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX", "output/HTML-CSS"],
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
+ processEscapes: true
+ },
+ "HTML-CSS": { availableFonts: ["TeX"] }
+ });
+ </script>
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js">
+
+This example includes the `tex2jax` preprocessor and configures it to use
+both the standard :term:`TeX` and :term:`LaTeX` math delimiters. It uses
+the `TeX` input processor and the `HTML-CSS` output processor, and forces the
+HTML-CSS processor to use the TeX fonts rather that other locally installed
+fonts (e.g., :term:`STIX` fonts). See the :ref:`configuration options
+<configuration>` section (or the comments in the ``config/default.js``
+file) for more information about the configuration options that you can
+include in the :meth:`MathJax.Hub.Config()` call. Note that this
+configuration does **not** load any pre-defined configuration file.
+
+Note that you can combine in-line configuration with file-based
+configuration, simply include ``text/x-mathjax-config`` scripts as above,
+but also include ``config=filename`` when you load the ``MathJax.js``
+file. For example, the `tex2jax` preprocessor does **not** the TeX
+single-dollar in-line math delimiters by default. You can load one of the
+pre-defined configuration files that include the TeX preprocessor, and use
+an in-line configuration block to enable the single-dollar signs:
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+ </script>
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js?config=TeX-AMS_HTML">
+ </script>
+
+
+.. _delayStartupUntil:
+
+Configuring MathJax after it is loaded
+======================================
+
+Because MathJax begins its configuration process immediately after it is
+loaded (so that it can start loading files as quickly as it can), the
+configuration blocks for MathJax must come before ``MathJax.js`` is loaded,
+so they will be available to MathJax when it starts up. There are
+situations, however, when you might want to put off configuring MathJax
+until later in the page.
+
+One such situation is when you have a site that loads MathJax as part of a
+theme or template, but want to be able to modify the configuration on
+specific pages of the site. To accomplish this, you need to ask MathJax
+to delay its startup configuration until some later time. MathJax uses
+the ``delayStartupUntil`` parameter to control the timing of the startup
+sequence. By default, it is set to ``none``, meaning there is no delay
+and MathJax starts configuration right away.
+
+You can set ``delayStartupUntil=onload`` in order to prevent MathJax from
+continuing its startup process until the page's onLoad handler fires. This
+allows MathJax to find the ``text/x-mathjax-config`` blocks that occur
+anywhere on the page, not just the ones that appear above the ``<script>``
+that loads ``MathJax.js``. It also means that MathJax will not begin
+loading any of the files that it needs until then as well, which may delay
+the displaying of your mathematics, since the onLoad handler doesn't
+execute until all the images and other media are available. (If you have
+used a combined configuration file, however, it already includes all the
+main files that MathJax needs, so there is not much loss in delaying the
+startup.)
+
+You can set ``delayStartupUntil=configured`` in order to delay the startup
+configuration until the :meth:`MathJax.Hub.Configured()` method is
+called. This allows you to delay startup until later on the page, but
+then restart MathJax configuration process as soon as possible rather than
+waiting for the entire page to load. For example, you could use
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="path-to-MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML&delayStartupUntil=configured">
+ </script>
+
+in your theme's header file, and
+
+.. code-block:: html
+
+ <script type="text/javascript">
+ MathJax.Hub.Configured()
+ </script>
+
+in its footer, so that MathJax will delay setting up until the footer is
+reached, but will not have to wait until images and other files are
+laoded. If you have ``text/x-mathjax-config`` script tags within the main
+body of the document, MathJax will read and process those before
+continuing its startup. In this way you can use a default configuration
+that can be modified on a page-by-page basis.
+
+
+Details of the MathJax configuration process
+============================================
+
+Since there are a number of different ways to configure MathJax, it is
+important to know how they interact. The configuration process is the
+following:
+
+1. Process any configuration file explicitly specified as a script parameter.
+2. Process the in-line script body (deprecated), if present.
+3. If delayed startup is requested, wait for the indicated signal.
+4. Process ``text/x-mathjax-config`` config blocks.
+5. Process any config files queued in the configuration's `config` array
+ by earlier config code.
+
+Note that ``text/x-mathjax-config`` script blocks must either precede the
+``MathJax.js`` script element, or startup must be delayed. Otherwise, blocks
+that follow the ``MathJax.js`` script element may or may not be available
+when MathJax runs, and browser-dependent erratic behavior will result.
+
+
diff --git a/docs/source/dynamic.rst b/docs/source/dynamic.rst
@@ -0,0 +1,167 @@
+.. _ajax-mathjax:
+
+***************************
+Loading MathJax Dynamically
+***************************
+
+MathJax is designed to be included via a ``<script>`` tag in the
+``<head>`` section of your HTML document, and it does rely on being
+part of the original document in that it uses an ``onload`` event
+handler to synchronize its actions with the loading of the page.
+If you wish to insert MathJax into a document after it has
+been loaded, that will normally occur *after* the page's ``onload``
+handler has fired, and so MathJax will not be able to tell if it is
+safe for it to process the contents of the page. Indeed, it will wait
+forever for its ``onload`` handler to fire, and so will never process
+the page.
+
+To solve this problem, you will need to call MathJax's ``onload``
+handler yourself, to let it know that it is OK to typeset the
+mathematics on the page. You accomplish this by calling the
+:meth:`MathJax.Hub.Startup.onload()` method as part of your MathJax
+startup script. To do this, you will need to give MathJax an in-line
+configuration.
+
+Here is an example of how to load and configure MathJax dynamically:
+
+.. code-block:: javascript
+
+ (function () {
+ var script = document.createElement("script");
+ script.type = "text/javascript";
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js";
+
+ var config = 'MathJax.Hub.Config({' +
+ 'extensions: ["tex2jax.js"],' +
+ 'jax: ["input/TeX","output/HTML-CSS"]' +
+ '});' +
+ 'MathJax.Hub.Startup.onload();';
+
+ if (window.opera) {script.innerHTML = config}
+ else {script.text = config}
+
+ document.getElementsByTagName("head")[0].appendChild(script);
+ })();
+
+You can adjust the ``config`` variable to your needs, but be careful to get
+the commas right. The ``window.opera`` test is because some versions of
+Opera doesn't handle setting ``script.text`` properly, while Internet
+Explorer doesn't handle setting the ``innerHTML`` of a script tag.
+
+Here is a version that uses the ``config=filename`` method to
+configure MathJax:
+
+.. code-block:: javascript
+
+ (function () {
+ var script = document.createElement("script");
+ script.type = "text/javascript";
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+
+ var config = 'MathJax.Hub.Startup.onload();';
+
+ if (window.opera) {script.innerHTML = config}
+ else {script.text = config}
+
+ document.getElementsByTagName("head")[0].appendChild(script);
+ })();
+
+Note that the **only** reliable way to configure MathJax is to use an
+in-line configuration block of the type discussed above. You should
+**not** call :meth:`MathJax.Hub.Config()` directly in your code, as it will
+not run at the correct time --- it will either run too soon, in which case
+``MathJax`` may not be defined and the function will throw an error, or it
+will run too late, after MathJax has already finished its configuration
+process, so your changes will not have the desired effect.
+
+
+MathJax and GreaseMonkey
+========================
+
+You can use techniques like the ones discussed above to good effect in
+GreaseMonkey scripts. There are GreaseMonkey work-alikes for all the
+major browsers:
+
+- Firefox: `GreaseMonkey <http://addons.mozilla.org/firefox/addon/748>`_
+- Safari: `GreaseKit <http://8-p.info/greasekit/>`_ (also requires `SIMBL <http://www.culater.net/software/SIMBL/SIMBL.php>`_)
+- Opera: Built-in (`instructions <http://www.ghacks.net/2008/08/10/greasemonkey-in-opera/>`_)
+- Internet Explorer: `IEPro7 <http://www.ie7pro.com/>`_
+- Chrome: Built-in for recent releases
+
+Note, however, that most browsers don't allow you to insert a script
+that loads a ``file://`` URL into a page that comes from the web (for
+security reasons). That means that you can't have your GreaseMonkey
+script load a local copy of MathJax, so you have to refer to a
+server-based copy. The MathJax CDN works nicely for this.
+
+----
+
+Here is a script that runs MathJax in any document that contains
+MathML (whether its includes MathJax or not). That allows
+browsers that don't have native MathML support to view any web pages
+with MathML, even if they say it only works in Forefox and
+IE+MathPlayer.
+
+.. code-block:: javascript
+
+ // ==UserScript==
+ // @name MathJax MathML
+ // @namespace http://www.mathjax.org/
+ // @description Insert MathJax into pages containing MathML
+ // @include *
+ // ==/UserScript==
+
+ if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
+ if ((document.getElementsByTagName("math").length > 0) ||
+ (document.getElementsByTagNameNS == null ? false :
+ (document.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math").length > 0))) {
+ var script = document.createElement("script");
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+ var config = 'MathJax.Hub.Startup.onload()';
+ if (window.opera) {script.innerHTML = config} else {script.text = config}
+ document.getElementsByTagName("head")[0].appendChild(script);
+ }
+ }
+
+**Source**: `mathjax_mathml.user.js <_static/mathjax_mathml.user.js>`_
+
+----
+
+Here is a script that runs MathJax in Wikipedia pages after first
+converting the math images to their original TeX code.
+
+.. code-block:: javascript
+
+ // ==UserScript==
+ // @name MathJax in Wikipedia
+ // @namespace http://www.mathjax.org/
+ // @description Insert MathJax into Wikipedia pages
+ // @include http://en.wikipedia.org/wiki/*
+ // ==/UserScript==
+
+ if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) {
+ //
+ // Replace the images with MathJax scripts of type math/tex
+ //
+ var images = document.getElementsByTagName('img'), count = 0;
+ for (var i = images.length - 1; i >= 0; i--) {
+ var img = images[i];
+ if (img.className === "tex") {
+ var script = document.createElement("script"); script.type = "math/tex";
+ if (window.opera) {script.innerHTML = img.alt} else {script.text = img.alt}
+ img.parentNode.replaceChild(script,img); count++;
+ }
+ }
+ if (count) {
+ //
+ // Load MathJax and have it process the page
+ //
+ var script = document.createElement("script");
+ script.src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full";
+ var config = 'MathJax.Hub.Startup.onload()';
+ if (window.opera) {script.innerHTML = config} else {script.text = config}
+ document.getElementsByTagName("head")[0].appendChild(script);
+ }
+ }
+
+**Source**: `mathjax_wikipedia.user.js <_static/mathjax_wikipedia.user.js>`_
diff --git a/docs/rst/glossary.rst b/docs/source/glossary.rst
diff --git a/docs/rst/images/mt_head.png b/docs/source/images/mt_head.png
Binary files differ.
diff --git a/docs/rst/images/mt_menu.png b/docs/source/images/mt_menu.png
Binary files differ.
diff --git a/docs/rst/images/mt_templates.png b/docs/source/images/mt_templates.png
Binary files differ.
diff --git a/docs/rst/images/wp_menu.png b/docs/source/images/wp_menu.png
Binary files differ.
diff --git a/docs/rst/images/wp_templates.png b/docs/source/images/wp_templates.png
Binary files differ.
diff --git a/docs/source/index.rst b/docs/source/index.rst
@@ -0,0 +1,88 @@
+#####################
+MathJax Documentation
+#####################
+
+MathJax is an open-source JavaScript display engine for LaTeX and
+MathML that works in all modern browsers.
+
+Basic Usage
+===========
+
+.. toctree::
+ :maxdepth: 1
+
+ What is MathJax? <mathjax>
+ Getting Started with MathJax <start>
+ Installing and Testing MathJax <installation>
+ Loading and Configuring MathJax <configuration>
+ Common MathJax Configurations <config-files>
+ MathJax Configuration Options <options/index>
+ Using MathJax in Web Platforms <platforms/index>
+
+.. toctree::
+ :maxdepth: 1
+
+ MathJax TeX and LaTeX Support <tex>
+ MathJax MathML Support <mathml>
+ MathJax Output Formats <output>
+
+.. toctree::
+ :maxdepth: 1
+
+ The MathJax Community <community>
+
+
+.. _upgrading-MathJax:
+
+Upgrading MathJax
+=================
+
+.. toctree::
+ :maxdepth: 1
+
+ What's New in MathJax v1.1 <whats-new>
+ Migrating from MathJax v1.0 to v1.1 <upgrade>
+ Converting to MathJax from jsMath <jsMath>
+
+
+.. _advanced-topics:
+
+Advanced Topics
+===============
+
+.. toctree::
+ :maxdepth: 1
+
+ The MathJax Processing Model <model>
+ The MathJax Startup Sequence <startup>
+ Synchronizing Your Code with MathJax <synchronize>
+ Loading MathJax Dynamically <dynamic>
+ Modifying Math on the Page <typeset>
+
+.. toctree::
+ :maxdepth: 1
+
+ Details of the MathJax API<api/index>
+
+
+Reference Pages
+===============
+
+.. toctree::
+ :maxdepth: 1
+
+ HTML snippets <HTML-snippets>
+ CSS style objects <CSS-styles>
+ Glossary <glossary>
+
+* :ref:`Search <search>`
+
+* `User Help Pages <http://www.mathjax.org/help/user>`_:
+
+ + `MathJax Font Help <http://www.mathjax.org/help/fonts>`_
+ + `MathJax Contextual Menu <http://www.mathjax.org/help/menu>`_
+ + `MathJax Zoom Feature <http://www.mathjax.org/help/zoom>`_
+
+--------
+
+This version of the documentation was built |today|.
diff --git a/docs/source/installation.rst b/docs/source/installation.rst
@@ -0,0 +1,292 @@
+.. _installation:
+
+******************************
+Installing and Testing MathJax
+******************************
+
+The easiest way to use MathJax is to link directly to the MathJax
+distributed network service (see :ref:`Using the MathJax CDN
+<mathjax-CDN>`). In that case, there is no need to install MathJax
+yourself, and you can begin using MathJax right away; skip this document on
+installation and go directly to :ref:`Configuring MathJax <loading>`.
+
+MathJax can be loaded from a public web server or privately from your hard drive
+or other local media. To use MathJax in either way, you will need to obtain a
+copy of MathJax and its font package. There are three ways to do this: via
+``git``, ``svn``, or via a pre-packaged archive. We recommend git or svn, as it
+is easier to keep your installation up to date with these tools.
+
+
+.. _getting-mathjax-git:
+
+Obtaining MathJax via Git
+=========================
+
+The easiest way to get MathJax and keep it up to date is to use the `Git
+<http://git-scm.com/>`_ version control system to access our `GitHub repository
+<http://github.com/mathjax/mathjax>`_. Use the command
+
+.. code-block:: sh
+
+ git clone git://github.com/mathjax/MathJax.git MathJax
+
+to obtain and set up a copy of MathJax. Note that there is no longer
+a ``fonts.zip`` file, and that the ``fonts`` directory is now part of
+the repository itself.
+
+Whenever you want to update MathJax, you can now use
+
+.. code-block:: sh
+
+ cd MathJax
+ git remote show origin
+
+to check if there are updates to MathJax (this will print several
+lines of data, but the last line should tell you if your copy is up to
+date or out of date). If MathJax needs updating, use
+
+.. code-block:: sh
+
+ cd MathJax
+ git pull origin
+
+to udpate your copy of MathJax to the current release version. If you
+keep MathJax updated in this way, you will be sure that you have the
+latest bug fixes and new features as they become available.
+
+This gets you the current development copy of MathJax, which is the version
+that contains all the latest changes to MathJax. Although we try to make
+sure this version is a stable and usable version of MathJax, it is under
+active development, and at times it may be less stable than the "release"
+version. If you prefer to use the most stable version (that may not
+include all the latest patches and features), use ``git tag -l`` to see all
+versions and use ``git checkout <tag_name>`` to checkout that version of
+MathJax. When you want to upgrade to a new release, you will need to
+repeat this for the latest release tag.
+
+
+.. _getting-mathjax-svn:
+
+Obtaining MathJax via SVN
+=========================
+
+If you are more comfortable with the `subversion
+<http://subversion.apache.org/>`_ source control system, you may want
+to use GitHub's ``svn`` service to obtain MathJax. If you want to get the
+latest revision using ``svn``, use the command
+
+.. code-block:: sh
+
+ svn checkout http://svn.github.com/mathjax/MathJax.git MathJax
+
+to obtain and set up a copy of MathJax. Note that there is no longer
+a ``fonts.zip`` file, and that the ``fonts`` directory is now part of
+the repository itself.
+
+Whenever you want to update MathJax, you can now use
+
+.. code-block:: sh
+
+ cd MathJax
+ svn status -u
+
+to check if there are updates to MathJax. If MathJax needs updating,
+use
+
+.. code-block:: sh
+
+ cd MathJax
+ svn update
+
+to udpate your copy of MathJax to the current release version. If you
+keep MathJax updated in this way, you will be sure that you have the
+latest bug fixes and new features as they become available.
+
+This gets you the current development copy of MathJax, which is the version
+that contains all the latest changes to MathJax. Although we try to make
+sure this version is a stable and usable version of MathJax, it is under
+active development, and at times it may be less stable than the "release"
+version. If you prefer to use one of the tagged releases instead, then
+either use ``git`` as described above, or one of the archive files as
+described below. You can use
+
+.. code-block:: sh
+
+ svn checkout http://svn.github.com/mathjax/MathJax.git@nnn mathjax
+
+to check out revision number `nnn`, but it is not easy to tell what
+svn revision number is associated with a particular release. GitHub's
+``svn`` service doesn't appear to allow you to sepecify a particular
+tagged version.
+
+
+.. _getting-mathjax-zip:
+
+Obtaining MathJax via an archive
+================================
+
+Release versions of MathJax are available in archive files from the
+`MathJax download page <http://www.mathjax.org/download/>`_ or the
+`GitHub downloads <http://github.com/mathjax/mathjax/>`_ (click the
+big download button on the right), where you can download the archive
+that you need.
+
+You should download the v1.1 archive (which will get you a file with a
+name like ``mathjax-MathJax-v1.1-X-XXXXXXXX.zip``, where the X's are
+some sequence of random-looking letters and numbers), then simply unzip
+it. Once the MathJax directory is unpacked, you should move it to the
+desired location on your server (or your hard disk, if you are using
+it locally rather then through a web server). One natural location is
+to put it at the top level of your web server's hierarchy. That would
+let you refer to the main MathJax file as ``/MathJax/MathJax.js`` from
+within any page on your server.
+
+From the `MathJax GitHub download link
+<http://github.com/mathjax/mathjax/>`_ (the download button at the
+right), you can also select the ``Download .tar.gz`` or ``Download
+.zip`` buttons to get a copy of the current development version of
+MathJax that contains all the latest changes and bug-fixes.
+
+If a packaged release recevies any important updates, then those updates
+will be part of the `branch` for that version. The link to the ``.zip``
+file in the download list will be the original release version, not the
+patched version. To obtain the patched version, use the `Branches` drop
+down menu (at the far left of the menus within the page) to select the the
+release branch, and then use the downlaod button and the ``Downlaod
+.tar.gz`` or ``Download .zip`` button to get the latest patched version of
+that release.
+
+
+Testing your installation
+=========================
+
+Use the HTML files in the ``test`` directory to see if your
+installation is working properly::
+
+ test/
+ index.html # Tests default configuration
+ index-images.html # Tests image-font fallback display
+ sample.html # Sample page with lots of pretty equations
+
+Open these files in your browser to see that they appear to be working
+properly. If you have installed MathJax on a server, use the web
+address for those files rather than opening them locally. When you
+view the ``index.html`` file, you should see (after a few moments) a
+message that MathJax appears to be working. If not, you should check
+that the files have been transferred to the server completely, and that
+the permissions allow the server to access the files and folders that
+are part of the MathJax directory (be sure to verify the MathJax
+folder's permissions as well). Checking the server logs may help
+locate problems with the installation.
+
+
+.. _cross-domain-linking:
+
+Notes about shared installations
+================================
+
+Typically, you want to have MathJax installed on the same server as
+your web pages that use MathJax. There are times, however, when that
+may be impractical, or when you want to use a MathJax installation at
+a different site. For example, a departmental server at
+``www.math.yourcollege.edu`` might like to use a college-wide
+installation at ``www.yourcollege.edu`` rather than installing a
+separate copy on the departmental machine. MathJax can certainly
+be loaded from another server, but there is one imporant caveat ---
+Firefox's and IE9's same-origin security policy for cross-domain scripting.
+
+Firefox's interpretation of the same-origin policy is more strict than most
+other browsers, and it affects how fonts are loaded with the `@font-face`
+CSS directive. MathJax uses this directive to load web-based math fonts
+into a page when the user doesn't have them installed locally on their own
+computer. Firefox's security policy, however, only allows this when the
+fonts come from the same server as the web page itself, so if you load
+MathJax (and hence its web fonts) from a different server, Firefox won't be
+able to access those web fonts. In this case, MathJax will pause while
+waiting for the font to download (which will never happen); it will time
+out after about 5 seconds and switch to image fonts as a fallback.
+Similarly, IE9 has a similar same-origin policy in its `IE9 standards
+mode`, so it exhibits this same behavior.
+
+There is a solution to this, however, if you manage the server where
+MathJax is installed, and if that server is running the `Apache web
+server <http://www.apache.org/>`_. In the remote server's
+``MathJax/fonts/HTML-CSS/TeX/otf`` folder, create a file called
+``.htaccess`` that contains the following lines:
+::
+
+ <FilesMatch "\.(ttf|otf|eot)$">
+ <IfModule mod_headers.c>
+ Header set Access-Control-Allow-Origin "*"
+ </IfModule>
+ </FilesMatch>
+
+and make sure the permissions allow the server to read this file. (The
+file's name starts with a period, which causes it to be an "invisible" file
+on unix-based operating systems. Some systems, particularly those with
+graphical user interfaces, may not allow you to create such files, so you
+might need to use the command-line interface to accomplish this.)
+
+This file should make it possible for pages at other sites to load MathJax
+from this server in such a way that Firefox and IE9 will be able to
+download the web-based fonts. If you want to restrict the sites that can
+access the web fonts, change the ``Access-Control-Allow-Origin`` line to
+something like::
+
+ Header set Access-Control-Allow-Origin "http://www.math.yourcollege.edu"
+
+so that only pages at ``www.math.yourcollege.edu`` will be able to
+download the fonts from this site. See the open font library
+discussion of `web-font linking
+<http://openfontlibrary.org/wiki/Web_Font_linking_and_Cross-Origin_Resource_Sharing>`_
+for more details.
+
+
+.. _ff-local-fonts:
+
+Firefox and local fonts
+=======================
+
+Firefox's same-origin security policy affects its ability to load
+web-based fonts, as described above. This has implications not only
+to cross-domain loading of MathJax, but also to using MathJax locally
+from your hard disk. Firefox's interpretation of the same-origin
+policy for local files is that the "same domain" for a page is the
+directory where that page exists, or any of its subdirectories. So if
+you use MathJax in a page with a ``file://`` URL, and if MathJax is
+loaded from a diretory other than the one containing the original
+page, then MathJax will not be able to access the web-based fonts in
+Firefox. In that case, MathJax will fall back on image fonts to
+display the mathematics.
+
+In order for Firefox to be able to load the fonts properly for a local
+file, your MathJax installation must be in a subdirectory of the one
+containing the page that uses MathJax. This is an unfortunate
+restriction, but it is a limitiation imposed by Firefox's security
+model that MathJax can not circumvent. Currently, this is not a
+problem for other browsers.
+
+One solution to this problem is to install the MathJax fonts locally, so
+that Firefox will not have to use web-based fonts in the first place. To
+do that, either install the `STIX fonts <http://stixfonts.org>`_, or copy
+the fonts from ``MathJax/fonts/HTML-CSS/TeX/otf`` into your systems fonts
+directory and restart your browser (see the `MathJax fonts help page
+<http://www.mathjax.org/help/fonts>`_ for details).
+
+
+IE9 and remote fonts
+====================
+
+IE9's same-origin policy affects its ability to load web-based fonts, as
+described above. This has implications not ony to cross-domain loading of
+MathJax, but also to the case where you view a local page (with a
+``file://`` URL) that accesses MathJax from a remote site, like the MathJax
+CDN service. In this case, IE9 does **not** honor the
+``Access-Control-Allow-Origin`` setting of the remote server (as it would
+if the web page came from an ``http://`` URL), and so it **never** allows the
+font to be accessed.
+
+One solution to this problem is to install the MathJax fonts locally so
+that MathJax doesn't have to use web-based fonts in the first place. Your
+best bet is to install the `STIX fonts`_ on your system (see the `MathJax
+fonts help page`_ for details).
diff --git a/docs/source/jsMath.rst b/docs/source/jsMath.rst
@@ -0,0 +1,49 @@
+.. _jsMath-support:
+
+*********************************
+Converting to MathJax from jsMath
+*********************************
+
+MathJax is the successor to the popular `jsMath
+<http://www.math.union.edu/locate/jsMath/>`_ package for rendering
+mathematics in web pages. Like jsMath, MathJax works by locating and
+processing the mathematics within the webpage once it has been loaded
+in the browser by a user viewing your web pages. If you are using
+jsMath with its ``tex2math`` preprocessor, then switching to MathJax
+should be easy, and is simply a matter of configuring MathJax
+appropriately. See the section on :ref:`Loading and Configuring MathJax
+<loading>` for details.
+
+On the other hand, if you are using jsMath's ``<span
+class="math">...</span>`` and ``<div class="math">...</div>`` tags to
+mark the mathematics in your document, then you should use MathJax's
+``jsMath2jax`` preprocessor when you switch to MathJax. To do this,
+include ``"jsMath2jax.js"`` in the `extensions` array of your
+configuration, with the `jax` array set to include ``"input/TeX"``. For
+example,
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["jsMath2jax.js"]
+ });
+ </script>
+ <script
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
+ </script>
+
+would load the ``jsMath2jax`` preprocessor, along with a configuration
+file that processes TeX input and produces HTML-with-CSS output.
+
+There are a few configuration options for ``jsMath2jax``, which you
+can find in the ``config/default.js`` file, or in the :ref:`jsMath
+configuration options <configure-jsMath2jax>` section.
+
+If you are generating your jsMath documents programmatically, it would be
+better to convert from generating the jsMath ``<span>`` and ``<div>`` tags
+to producing the corresponding MathJax ``<script>`` tags. You would use
+``<script type="math/tex">`` in place of ``<span class="math">`` and
+``<script type="math/tex; mode=display">`` in place of ``<div
+class="math">``. See the section on :ref:`How mathematics is stored in the
+page <mathjax-script-tags>` for more details.
diff --git a/docs/rst/mathjax.rst b/docs/source/mathjax.rst
diff --git a/docs/source/mathml.rst b/docs/source/mathml.rst
@@ -0,0 +1,97 @@
+.. _MathML-support:
+
+**********************
+MathJax MathML Support
+**********************
+
+The support for :term:`MathML` in MathJax consists of three parts: the
+`mml2jax` preprocessor, the `MathML` input processor, and the `NativeMML`
+output processor. The first of these looks for ``<math>`` tags within
+your document and marks them for later processing by MathJax. The
+second converts the MathML to the internal format used by MathJax, and
+the third turns the internal format into MathML within the page so
+that it can be displayed by the browser's native MathML support.
+
+Because of MathJax's modular design, you do not need to use all three
+of these components. For example, you could use the `tex2jax`
+preprocessor and the TeX input processor, but the NativeMML output
+processor, so that your mathematics is entered in TeX format, but
+displayed as MathML. Or you could use the `mml2jax` reprocessor and
+MathML input processor with the HTML-CSS output processor to make
+MathML available in browsers that don't have native MathML support.
+It is also possible to have MathJax select the output processor for
+you so that MathML is used in those browsers that support it, while
+HTML-CSS is used for those that don't. See the :ref:`common
+configurations <common-configurations>` section for details and
+examples.
+
+Of course it is also possible to use all three components together.
+It may seem strange to go through an internal format just to return to
+MathML in the end, but this is actually what makes it possible to view
+MathML within an HTML page (rather than an XHTML page), without
+the complications of handling special MIME-types for the document, or
+any of the other setup issues that make using native MathML
+difficult. MathJax handles the setup and properly marks the
+mathematics so that the browser will render it as MathML. In
+addition, MathJax provides its contextual menu for the MathML, which
+lets the user zoom the mathematics for easier reading, get and copy
+the source markup, and so on, so there is added value to using MathJax
+even with a pure MathML workflow.
+
+
+MathML in HTML pages
+====================
+
+For MathML that is handled via the pre-processor, you should not use
+the named MathML entities, but rather use the numeric entities like
+``√`` or unicode characters embedded in the page itself. The
+reason is that entities are replaced by the browser before MathJax
+runs, and some browsers report errors for unknown entities. For
+browsers that are not MathML-aware, that will cause errors to be
+displayed for the MathML entities. While that might not occur in the
+browser you are using to compose your pages, it can happen with other
+browsers, so you should avoid the named entities whenever possible.
+If you must use named entities, you may need to declare them in the
+`DOCTYPE` declaration by hand.
+
+When you use MathML in an HTML document rather than an XHTML one
+(MathJax will work woth both), you should not use the "self-closing"
+form for tags with no content, but should use separate open and close
+tags. That is, use
+
+.. code-block:: html
+
+ <mspace width="thinmathspace"></mspace>
+
+rather than ``<mspace width="thinmathspace />``. This is because HTML
+does not have self-closing tags, and some browsers will get the
+nesting of tags wrong if you attempt to use them. For example, with
+``<mspace width="1em" />``, since there is no closing tag, the rest of
+the mathematics will become the content of the ``<mspace>`` tag; but
+since ``<mspace>`` should have no content, the rest of the mathematics
+will not be displayed. This is a common error that should be avoided.
+
+
+Supported MathML commands
+=========================
+
+MathJax supports the `MathML3.0 <http://www.w3.org/TR/MathML3/>`_
+presentation mathematics tags, with some limitations. The MathML
+support is still under active development, so some tags are not yet
+implemented, and some features are not fully developed, but are
+coming.
+
+The deficiencies include:
+
+- No support for the elementary math tags: ``mstack``, ``mlongdiv``,
+ ``msgroup``, ``msrow``, ``mscarries``, and ``mscarry``.
+
+- Limited support for line breaking (they are only allowed in direct
+ children of ``mrow`` or implied ``mrow`` elements.
+
+- No support for alignment groups in table.
+
+- No support for right-to-left rendering.
+
+See the `results of the MathML3.0 test suite
+<http://www.w3.org/Math/testsuite/results/tests.html>`_ for details.
diff --git a/docs/source/mjtheme/layout.html b/docs/source/mjtheme/layout.html
@@ -0,0 +1,277 @@
+{#
+ basic/layout.html
+ ~~~~~~~~~~~~~~~~~
+
+ Master layout template for Sphinx themes.
+
+ :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+#}
+{%- block doctype -%}
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+{%- endblock %}
+{%- set reldelim1 = reldelim1 is not defined and ' »' or reldelim1 %}
+{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %}
+{%- set render_sidebar = (not embedded) and (not theme_nosidebar|tobool) and
+ (sidebars != []) %}
+{%- set url_root = pathto('', 1) %}
+{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
+
+{%- macro relbar() %}
+ <div class="related">
+ <h3>{{ _('Navigation') }}</h3>
+ <ul>
+ {%- for rellink in rellinks %}
+ <li class="right" {% if loop.first %}style="margin-right: 10px"{% endif %}>
+ <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags|e }}"
+ {{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
+ {%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
+ {%- endfor %}
+ {%- block rootrellink %}
+ <li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
+ {%- endblock %}
+ {%- for parent in parents %}
+ <li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>{{ reldelim1 }}</li>
+ {%- endfor %}
+ {%- block relbaritems %} {% endblock %}
+ </ul>
+ </div>
+{%- endmacro %}
+
+{%- macro sidebar() %}
+ {%- if render_sidebar %}
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ {%- block sidebarlogo %}
+ {%- if logo %}
+ <p class="logo"><a href="{{ pathto(master_doc) }}">
+ <img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
+ </a></p>
+ {%- endif %}
+ {%- endblock %}
+ {%- if sidebars != None %}
+ {#- new style sidebar: explicitly include/exclude templates #}
+ {%- for sidebartemplate in sidebars %}
+ {%- include sidebartemplate %}
+ {%- endfor %}
+ {%- else %}
+ {#- old style sidebars: using blocks -- should be deprecated #}
+ {%- block sidebartoc %}
+ {%- include "localtoc.html" %}
+ {%- endblock %}
+ {%- block sidebarrel %}
+ {%- include "relations.html" %}
+ {%- endblock %}
+ {%- block sidebarsourcelink %}
+ {%- include "sourcelink.html" %}
+ {%- endblock %}
+ {%- if customsidebar %}
+ {%- include customsidebar %}
+ {%- endif %}
+ {%- block sidebarsearch %}
+ {%- include "searchbox.html" %}
+ {%- endblock %}
+ {%- endif %}
+ </div>
+ </div>
+ {%- endif %}
+{%- endmacro %}
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset={{ encoding }}" />
+ {{ metatags }}
+ {%- if not embedded and docstitle %}
+ {%- set titlesuffix = " — "|safe + docstitle|e %}
+ {%- else %}
+ {%- set titlesuffix = "" %}
+ {%- endif %}
+ {%- block htmltitle %}
+ <title>{{ title|striptags|e }}{{ titlesuffix }}</title>
+ {%- endblock %}
+ <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
+ <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
+ {%- for cssfile in css_files %}
+ <link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
+ {%- endfor %}
+ {%- if not embedded %}
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '{{ url_root }}',
+ VERSION: '{{ release|e }}',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '{{ '' if no_search_suffix else file_suffix }}',
+ HAS_SOURCE: {{ has_source|lower }}
+ };
+ </script>
+ {%- for scriptfile in script_files %}
+ <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
+ {%- endfor %}
+ <!--<script type="text/javascript" src="{{ pathto('../../MathJax.js?config=TeX-AMS-MML_HTMLorMML', 1) }}"></script>-->
+ {%- if use_opensearch %}
+ <link rel="search" type="application/opensearchdescription+xml"
+ title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
+ href="{{ pathto('_static/opensearch.xml', 1) }}"/>
+ {%- endif %}
+ {%- if favicon %}
+ <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
+ {%- endif %}
+ {%- endif %}
+{%- block linktags %}
+ {%- if hasdoc('about') %}
+ <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
+ {%- endif %}
+ {%- if hasdoc('genindex') %}
+ <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
+ {%- endif %}
+ {%- if hasdoc('search') %}
+ <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
+ {%- endif %}
+ {%- if hasdoc('copyright') %}
+ <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
+ {%- endif %}
+ <link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
+ {%- if parents %}
+ <link rel="up" title="{{ parents[-1].title|striptags|e }}" href="{{ parents[-1].link|e }}" />
+ {%- endif %}
+ {%- if next %}
+ <link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
+ {%- endif %}
+ {%- if prev %}
+ <link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
+ {%- endif %}
+{%- endblock %}
+{%- block extrahead %} {% endblock %}
+ </head>
+ <body>
+ {% if for_site %}
+ <div id="wrapper">
+ <div id="header">
+ <div id="branding" role="banner">
+ <h1 id="site-title">
+ <span>
+ <a href="http://www.mathjax.org/" title="MathJax" rel="home">
+ <img src="http://www.mathjax.org/wp-content/themes/mathjax/images/logo.gif" alt="MathJax">
+ </a>
+ </span>
+ </h1>
+ <div id="site-description">Beautiful math in all browsers</div>
+ <div id="header-box-right">
+ <ul class="icon-list">
+ <li>
+ <a href="http://www.twitter.com/mathjax">
+ <img src="http://www.mathjax.org/wp-content/themes/mathjax/images/social-icons/16px/twitter.png" alt="Twitter" title="Twitter">
+ </a>
+ </li>
+ <li>
+ <a href="http://www.facebook.com/pages/MathJax/351834882701">
+ <img src="http://www.mathjax.org/wp-content/themes/mathjax/images/social-icons/16px/facebook.png" alt="Facebook Page" title="Facebook Page">
+ </a>
+ </li>
+ <li>
+ <a href="http://www.mathjax.org/feed/">
+ <img src="http://www.mathjax.org/wp-content/themes/mathjax/images/social-icons/16px/rss.png" alt="RSS Feed" title="RSS Feed">
+ </a>
+ </li>
+ </ul>
+ <div id="search" class="widget-container widget_search">
+ <form action="/" method="get" accept-charset="utf-8">
+ <fieldset>
+ <label class="screen-reader-text" for="s">Search for:</label>
+ <input type="text" name="s" id="s" value="">
+ <input class="search-button" type="image" alt="Search" src="http://www.mathjax.org/wp-content/themes/mathjax/images/search.png">
+ </fieldset>
+ </form>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+
+ <div id="access" role="navigation">
+ <div class="menu-header">
+ <ul id="menu-navigation" class="menu">
+ <li id="menu-item-868" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/news/">News</a></li>
+ <li id="menu-item-846" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/demos/">Demos</a>
+ <ul class="sub-menu">
+ <li id="menu-item-859" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/demos/tex-samples/">TeX Samples</a></li>
+ <li id="menu-item-858" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/demos/mathml-samples/">MathML Samples</a></li>
+ <li id="menu-item-1078" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/demos/scaling-math/">Scaling Math</a></li>
+ <li id="menu-item-1097" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/demos/copy-and-paste/">Copy and Paste Math</a></li>
+ </ul>
+ </li>
+ <li id="menu-item-848" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/resources/">Resources</a>
+ <ul class="sub-menu">
+ <li id="menu-item-1262" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/download/">Download</a></li>
+ <li id="menu-item-1151" class="menu-item menu-item-type-custom"><a href="/resources/docs/">Documentation</a></li>
+ <li id="menu-item-1257" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/resources/articles-and-presentations/">Articles, Presentations, and Tutorials</a></li>
+ <li id="menu-item-860" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/resources/browser-compatibility/">Browser Compatibility</a></li>
+ <li id="menu-item-856" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/resources/faqs/">FAQs</a></li>
+ </ul>
+ </li>
+ <li id="menu-item-847" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/community/">Community</a>
+ <ul class="sub-menu">
+ <li id="menu-item-1347" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/community/mathjax-badge/">MathJax Badge</a></li>
+ <li id="menu-item-1145" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/community/mathjax-in-use/">MathJax in Use</a></li>
+ <li id="menu-item-1577" class="menu-item menu-item-type-custom"><a href="http://groups.google.com/group/mathjax-users/">MathJax User Group</a></li>
+ </ul>
+ </li>
+ <li id="menu-item-853" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/sponsors/">Sponsors</a></li>
+ <li id="menu-item-854" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/contact/">Contact</a></li>
+ <li id="menu-item-1167" class="menu-item menu-item-type-post_type"><a href="http://www.mathjax.org/download/">Download</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+{%- block header %}{% endblock %}
+
+{%- block relbar1 %}{{ relbar() }}{% endblock %}
+
+{%- block content %}
+ {%- block sidebar1 %} {# possible location for sidebar #} {% endblock %}
+
+ <div class="document">
+ {%- block document %}
+ <div class="documentwrapper">
+ {%- if render_sidebar %}
+ <div class="bodywrapper">
+ {%- endif %}
+ <div class="body">
+ {% block body %} {% endblock %}
+ </div>
+ {%- if render_sidebar %}
+ </div>
+ {%- endif %}
+ </div>
+ {%- endblock %}
+
+ {%- block sidebar2 %}{{ sidebar() }}{% endblock %}
+ <div class="clearer"></div>
+ </div>
+{%- endblock %}
+
+{%- block relbar2 %}{{ relbar() }}{% endblock %}
+
+{%- block footer %}
+ <div class="footer">
+ {%- if show_copyright %}
+ {%- if hasdoc('copyright') %}
+ {% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
+ {%- else %}
+ {% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %}
+ {%- endif %}
+ {%- endif %}
+ {%- if last_updated %}
+ {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
+ {%- endif %}
+ {%- if show_sphinx %}
+ {% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
+ {%- endif %}
+ </div>
+{%- endblock %}
+ {% if for_site %}
+ </div>
+ {% endif %}
+ </body>
+</html>
diff --git a/docs/source/mjtheme/static/mj.css_t b/docs/source/mjtheme/static/mj.css_t
@@ -0,0 +1,499 @@
+/**
+ * Sphinx stylesheet -- default theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+@import url("basic.css");
+
+{% if for_site %}
+
+/* style copied over from http://mathjax.org/ for the header */
+
+body {
+ background: #D2D3D3 !important;
+}
+#wrapper {
+ background: white;
+ padding: 0;
+ margin: 20px auto;
+ width: 980px;
+}
+
+/* deal with sphinx css not reseting anything */
+
+.widget_search fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0;
+}
+.icon-list {
+ margin: 0; padding: 0;
+}
+
+/* from wp twentyten */
+
+#branding img {
+ display: block;
+}
+
+.widget_search label {
+ display: none;
+}
+.screen-reader-text {
+ left: -9000px;
+ position: absolute;
+}
+.widget_search input {
+ color: #666;
+ font-size: 12px;
+ line-height: 18px;
+}
+
+.widget_search input[type="text"] {
+ -webkit-box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px inset;
+ -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1) inset;
+ box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1) inset;
+ background: #F9F9F9;
+ border: 1px solid #CCC;
+ padding: 2px;
+}
+
+#access {
+ font-family: 'Helvetica Neue', Arial, Helvetica, 'Nimbus Sans L', sans-serif;
+ background: #000;
+ margin: 20px auto 0;
+ width: 940px;
+ display:block;
+ float:left;
+}
+#access .menu-header,
+div.menu {
+ font-size: 13px;
+ margin-left: 12px;
+}
+#access .menu-header ul,
+div.menu ul {
+ list-style: none;
+ margin: 0;
+}
+#access .menu-header li,
+div.menu li {
+ float:left;
+ position: relative;
+}
+#access a {
+ display:block;
+ text-decoration:none;
+ color: #DDD;
+ font-weight: bold;
+ padding:0 10px;
+ line-height:38px;
+}
+#access ul ul {
+ display:none;
+ position:absolute;
+ top:38px;
+ left:0;
+ float:left;
+ box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
+ -moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
+ -webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
+ width: 180px;
+ z-index: 99999;
+}
+#access ul ul li {
+ min-width: 180px;
+}
+#access ul ul ul {
+ left:100%;
+ top:0;
+}
+#access ul ul a {
+ background:#333;
+ height:auto;
+ line-height:1em;
+ padding:10px;
+ width: 160px;
+}
+#access li:hover > a,
+#access ul ul :hover > a {
+ color:#fff;
+ background:#333;
+}
+#access ul li:hover > ul {
+ display:block;
+}
+#access ul li.current_page_item > a,
+#access ul li.current-menu-ancestor > a,
+#access ul li.current-menu-item > a,
+#access ul li.current-menu-parent > a {
+ color: #fff;
+}
+
+* html #access ul li.current_page_item a,
+* html #access ul li.current-menu-ancestor a,
+* html #access ul li.current-menu-item a,
+* html #access ul li.current-menu-parent a,
+* html #access ul li a:hover {
+ color:#fff;
+}
+
+/* HEADER */
+
+#header {
+ background: #ffffff;
+ padding: 20px;
+ height: 95px;
+}
+#branding {
+}
+#site-title {
+ float: left;
+ margin: 0;
+ width: 300px;
+}
+#branding img {
+ border: 0;
+}
+#site-description {
+ margin: 36px 0 0;
+ font-size: 18px; line-height: 18px;
+ float: left;
+ width: auto;
+ font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif;
+ font-style: normal;
+ font-weight: bold;
+ letter-spacing: -1px;
+ color: #a5a5a5;
+}
+
+#header-box-right {
+ margin: 10px 0 0;
+ float: right;
+}
+.icon-list {
+ display: block;
+ margin: 0 0 0 93px;
+ list-style: none;
+}
+.icon-list li {
+ float: left;
+ display: inline;
+ margin: 0 8px 5px 0;
+}
+.icon-list img { border: 0; }
+.widget_search {
+ clear: both;
+ margin: 0;
+}
+.widget_search #s {
+ width: 150px;
+ height: 16px;
+ float: left;
+}
+.widget_search input[type="text"] {
+ border: 2px solid #b5bfb8;
+ background-color: #eaeaea;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+}
+.widget_search input[type="text"]:focus {
+ outline-width: 0;
+ border-color: #169538;
+}
+.search-button {
+ float: left;
+ display: inline;
+ margin: 2px 0 0 5px;
+}
+
+/* NAVIGATION */
+
+#access {
+ margin: 20px 0px 0px;
+}
+#access ul { padding: 0; }
+#access li { min-width: 20px; }
+#access a { color: #dddddd; font-weight: bold; }
+#access a:hover, #access ul li.current_page_item > a, #access ul li.current-menu-ancestor > a,
+#access ul li.current-menu-item > a, #access ul li.current-menu-parent > a {
+ color: #ffffff;
+ font-weight: bold;
+}
+#access li:hover > a, #access ul ul :hover > a {
+ color:#fff;
+ background:#444;
+}
+#access ul ul a {
+ background:#444;
+}
+
+#menu-item-1167 {
+ float: right !important;
+ background: #E18B16 !important;
+}
+#menu-item-1167:hover > a {
+ background: #ef9d32 !important;
+}
+#menu-item-1167 a, #menu-item-1167 a:visited {
+ color: #ffffff !important;
+}
+
+/* modify layout to match mathjax site */
+
+.related, .document {
+ width: 940px !important;
+ margin: 0 auto;
+}
+
+{% endif %}
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: {{ theme_bodyfont }};
+ font-size: 100%;
+ background-color: {{ theme_footerbgcolor }};
+ color: #000;
+ margin: 0;
+ padding: 0;
+}
+
+div.document {
+ background-color: {{ theme_sidebarbgcolor }};
+}
+
+div.documentwrapper {
+ float: left;
+ width: 100%;
+}
+
+div.bodywrapper {
+ margin: 0 0 0 230px;
+}
+
+div.body {
+ background-color: {{ theme_bgcolor }};
+ color: {{ theme_textcolor }};
+ padding: 0 20px 30px 20px;
+}
+
+{%- if theme_rightsidebar|tobool %}
+div.bodywrapper {
+ margin: 0 230px 0 0;
+}
+{%- endif %}
+
+div.footer {
+ color: {{ theme_footertextcolor }};
+ width: 100%;
+ padding: 9px 0 9px 0;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer a {
+ color: {{ theme_footertextcolor }};
+ text-decoration: underline;
+}
+
+div.related {
+ background-color: {{ theme_relbarbgcolor }};
+ line-height: 30px;
+ color: {{ theme_relbartextcolor }};
+}
+
+div.related a {
+ color: {{ theme_relbarlinkcolor }};
+}
+
+div.sphinxsidebar {
+ {%- if theme_stickysidebar|tobool %}
+ top: 30px;
+ margin: 0;
+ position: fixed;
+ overflow: auto;
+ height: 100%;
+ {%- endif %}
+ {%- if theme_rightsidebar|tobool %}
+ float: right;
+ {%- if theme_stickysidebar|tobool %}
+ right: 0;
+ {%- endif %}
+ {%- endif %}
+}
+
+{%- if theme_stickysidebar|tobool %}
+/* this is nice, but it it leads to hidden headings when jumping
+ to an anchor */
+/*
+div.related {
+ position: fixed;
+}
+
+div.documentwrapper {
+ margin-top: 30px;
+}
+*/
+{%- endif %}
+
+div.sphinxsidebar h3 {
+ font-family: {{ theme_headfont }};
+ color: {{ theme_sidebartextcolor }};
+ font-size: 1.4em;
+ font-weight: normal;
+ margin: 0;
+ padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+ color: {{ theme_sidebartextcolor }};
+}
+
+div.sphinxsidebar h4 {
+ font-family: {{ theme_headfont }};
+ color: {{ theme_sidebartextcolor }};
+ font-size: 1.3em;
+ font-weight: normal;
+ margin: 5px 0 0 0;
+ padding: 0;
+}
+
+div.sphinxsidebar p {
+ color: {{ theme_sidebartextcolor }};
+}
+
+div.sphinxsidebar p.topless {
+ margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+ margin: 10px;
+ padding: 0;
+ color: {{ theme_sidebartextcolor }};
+}
+
+div.sphinxsidebar ul li {
+ margin-top: .2em;
+}
+
+div.sphinxsidebar a {
+ color: {{ theme_sidebarlinkcolor }};
+}
+
+div.sphinxsidebar input {
+ border: 1px solid {{ theme_sidebarlinkcolor }};
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+a {
+ color: {{ theme_linkcolor }};
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ font-family: {{ theme_headfont }};
+ background-color: {{ theme_headbgcolor }};
+ font-weight: normal;
+ color: {{ theme_headtextcolor }};
+ border-top: 2px solid {{ theme_headbordercolor }};
+ border-bottom: 1px solid {{ theme_headbordercolor }};
+ margin: 30px -20px 20px -20px;
+ padding: 3px 0 3px 10px;
+}
+
+div.body h1 { margin-top: 0; font-size: 200%; }
+div.body h2 { font-size: 160%; }
+div.body h3 { font-size: 140%; padding-left: 20px; }
+div.body h4 { font-size: 120%; padding-left: 20px; }
+div.body h5 { font-size: 110%; padding-left: 20px; }
+div.body h6 { font-size: 100%; padding-left: 20px; }
+
+a.headerlink {
+ color: {{ theme_headlinkcolor }};
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+}
+
+a.headerlink:hover {
+ background-color: {{ theme_headlinkcolor }};
+ color: white;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+pre {
+ padding: 5px;
+ background-color: {{ theme_codebgcolor }};
+ color: {{ theme_codetextcolor }};
+ line-height: 130%;
+ border: 2px solid {{ theme_codebordercolor }};
+ border-left: none;
+ border-right: none;
+}
+
+tt {
+ background-color: #ecf0f3;
+ padding: 0 1px 0 1px;
+/* font-size: 0.95em;*/
+}
+
+.warning tt {
+ background: #efc2c2;
+}
+
+.note tt {
+ background: #d6d6d6;
+}
diff --git a/docs/rst/mjtheme/theme.conf b/docs/source/mjtheme/theme.conf
diff --git a/docs/source/model.rst b/docs/source/model.rst
@@ -0,0 +1,226 @@
+****************************
+The MathJax Processing Model
+****************************
+
+The purpose of MathJax is to bring the ability to include mathematics
+easily in web pages to as wide a range of browsers as possible.
+Authors can specify mathematics in a variety of formats (e.g.,
+:term:`MathML` or :term:`LaTeX`), and MathJax provides high-quality
+mathematical typesetting even in those browsers that do not have
+native MathML support. This all happens without the need for special
+downloads or plugins, but rendering will be enhanced if high-quality
+math fonts (e.g., :term:`STIX`) are available to the browser.
+
+MathJax is broken into several different kinds of components: page
+preprocessors, input processors, output processors, and the MathJax
+Hub that organizes and connects the others. The input and output
+processors are called :term:`jax`, and are described in more detail
+below.
+
+When MathJax runs, it looks through the page for special tags that
+hold mathematics; for each such tag, it locates an appropriate input
+jax which it uses to convert the mathematics into an internal form
+(called an element jax), and then calls an output jax to transform the
+internal format into HTML content that displays the mathematics within
+the page. The page author configures MathJax by indicating which
+input and output jax are to be used.
+
+Often, and especially with pages that are authored by hand, the
+mathematics is not stored (initially) within the special tags needed
+by MathJax, as that would require more notation than the average page
+author is willing to type. Instead, it is entered in a form that is
+more natural to the page author, for example, using the standard TeX
+math delimiters ``$...$`` and ``$$...$$`` to indicate what part of the
+document is to be typeset as mathematics. In this case, MathJax can
+run a preprocessor to locate the math delimiters and replace them by
+the special tags that it uses to mark the formulas. There are
+preprocessors for :ref:`TeX notation <TeX-support>`, :ref:`MathML
+notation <MathML-support>`, and the :ref:`jsMath notation
+<jsMath-support>` that uses `span` and `div` tags.
+
+For pages that are constructed programatically, such as HTML
+pages that result from running a processor on text in some other
+format (e.g., pages produced from Markdown documents, or via programs
+like `tex4ht`), it would be best to use MathJax's special tags
+directly, as described below, rather than having MathJax run
+another preprocessor. This will speed up the final display of the
+mathematics, since the extra preprocessing step would not be needed,
+and it also avoids the conflict between the use of the less-than sign,
+``<``, in mathematics and asn an HTML special character (that starts
+an HTML tag).
+
+
+.. _mathjax-script-tags:
+
+How mathematics is stored in the page
+=====================================
+
+In order to identify mathematics in the page, MathJax uses special
+``<script>`` tags to enclose the mathematics. This is done because
+such tags can be located easily, and because their content is not
+further processed by the browser; for example, less-than signs can be
+used as they are in mathematics, without worrying about them being
+mistaken for the beginnings of HTML tags. One may also consider the
+math notation as a form of "script" for the mathematics, so a
+``<script>`` tag makes at least some sense for storing the math.
+
+Each ``<script>`` tag has a ``type`` attribute that identifies the
+kind of script that the tag contains. The usual (and default) value
+is ``type="text/javascript"``, and when a script has this type, the
+browser executes the script as a javascript program. MathJax,
+however, uses the type `math/tex` to identify mathematics in the TeX
+and LaTeX notation, and `math/mml` for mathematics in MathML
+notation. When the `tex2jax` or `mml2jax` preprocessors run, they
+create ``<script>`` tags with these types so that MathJax can process
+them when it runs its main typesetting pass.
+
+For example,
+
+.. code-block:: html
+
+ <script type="math/tex">x+\sqrt{1-x^2}</script>
+
+represents an in-line equation in TeX notation, and
+
+.. code-block:: html
+
+ <script type="math/tex; mode=display">
+ \sum_{n=1}^\infty {1\over n^2} = {\pi^2\over 6}
+ </script>
+
+is a displayed TeX equation.
+
+Alternatively, using MathML notation, you could use
+
+.. code-block:: html
+
+ <script type="math/mml">
+ <math>
+ <mi>x</mi>
+ <mo>+</mo>
+ <msqrt>
+ <mn>1</mn>
+ <mo>−<!-- − --></mo>
+ <msup>
+ <mi>x</mi>
+ <mn>2</mn>
+ </msup>
+ </msqrt>
+ </math>
+ </script>
+
+for in-line math, or
+
+.. code-block:: html
+
+ <script type="math/mml">
+ <math display="block">
+ <mrow>
+ <munderover>
+ <mo>∑<!-- ∑ --></mo>
+ <mrow>
+ <mi>n</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi mathvariant="normal">∞<!-- ∞ --></mi>
+ </munderover>
+ </mrow>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <msup>
+ <mi>n</mi>
+ <mn>2</mn>
+ </msup>
+ </mfrac>
+ </mrow>
+ <mo>=</mo>
+ <mrow>
+ <mfrac>
+ <msup>
+ <mi>π<!-- Ï€ --></mi>
+ <mn>2</mn>
+ </msup>
+ <mn>6</mn>
+ </mfrac>
+ </mrow>
+ </math>
+ </script>
+
+for displayed equations in MathML notation.
+As other input jax are created, they will use other types to identify
+the mathematics they can process.
+
+Page authors can use one of MathJax's preprocessors to convert from
+math delimiters that are more natural for the author to type (e.g.,
+TeX math delimiters like ``$$...$$``) to MathJax's ``<script>``
+format. Blog and wiki software could extend from their own markup
+languages to include math delimiters, which they could convert to
+MathJax's ``<script>`` format automatically.
+
+Note, however, that Internet Explorer has a bug that causes it to
+remove the space before a ``<script>`` tag if there is also a space
+after it, which can cause serious spacing problems with in-line math
+in Internet Explorer. There are three possible solutions to this in
+MathJax. The recommended way is to use a math preview (an element
+with class ``MathJax_Preview``) that is non-empty and comes right
+before the ``<script>`` tag. Its contents can be just the word
+``[math]``, so it does not have to be specific to the mathematics
+script that follows; it just has to be non-empty (though it could have
+its style set to ``display:none``). See also the ``preJax`` and
+``postJax`` options in the :ref:`Core Configuration Options
+<configure-hub>` document for another approach.
+
+
+The components of MathJax
+=========================
+
+The main components of MathJax are its preprocessors, its input and
+output jax, and the MathJax Hub, which coordinates the actions of the
+other components.
+
+**Input jax** are associated with the different script types (like
+:mimetype:`math/tex` or :mimetype:`math/mml`) and the mapping of a
+particular type to a particular jax is made when the various jax
+register their abilities with the MathJax Hub at configuration time.
+For example, the MathML input jax registers the :mimetype:`math/mml`
+type, so MathJax will know to call the MathML input jax when it sees
+math elements of that type. The role of the input jax is to convert
+the math notation entered by the author into the internal format used
+by MathJax (called an `element jax`). This internal format is
+essentially MathML (represented as JavaScript objects), so an input
+jax acts as a translator into MathML.
+
+**Output jax** convert that internal element jax format into a specific
+output format. For example, the NativeMML output jax inserts MathML
+tags into the page to represent the mathematics, while the HTML-CSS
+output jax uses HTML with CSS styling to lay out the mathematics so
+that it can be displayed even in browsers that dont understand
+MathML. Output jax could be produced that render the mathematics
+using SVG, for example, or that speak an equation for the blind
+users. The MathJax contextual menu can be used to switch between the
+output jax that are available.
+
+Each input and output jax has a small configuration file that is
+loaded when that input jax is included in the `jax` array in the
+MathJax configuration, and a larger file that implements the core
+functionality of that particular jax. The latter file is loaded
+when the first time the jax is needed by MathJax to process some
+mathematics.
+
+The **MathJax Hub** keeps track of the internal representations of the
+various mathematical equations on the page, and can be queried to
+obtain information about those equations. For example, one can obtain
+a list of all the math elements on the page, or look up a particular
+one, or find all the elements with a given input format, and so on.
+In a dynamically generated web page, an equation where the source
+mathematics has changed can be asked to re-render itself, or if a new
+paragraph is generated that might include mathematics, MathJax can be
+asked to process the equations it contains.
+
+The Hub also manages issues concerning mouse events and other user
+interaction with the equation itself. Parts of equations can be made
+active so that mouse clicks cause event handlers to run, or activate
+hyperlinks to other pages, and so on, making the mathematics as
+dynamic as the rest of the page.
diff --git a/docs/rst/options/FontWarnings.rst b/docs/source/options/FontWarnings.rst
diff --git a/docs/source/options/HTML-CSS.rst b/docs/source/options/HTML-CSS.rst
@@ -0,0 +1,125 @@
+.. _configure-HTML-CSS:
+
+*****************************
+The HTML-CSS output processor
+*****************************
+
+The options below control the operation of the HTML-CSS output
+processor that is run when you include ``"output/HTML-CSS"`` in the
+`jax` array of your configuration. They are listed with their default
+values. To set any of these options, include a ``"HTML-CSS"`` section
+in your :meth:`MathJax.Hub.Config()` call. Note that, because of the
+dash, you need to enclose the name in quotes. For example
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ "HTML-CSS": {
+ preferredFont: "STIX"
+ }
+ });
+
+would set the ``preferredFont`` option to the :term:`STIX` fonts.
+
+.. describe:: scale: 100
+
+ The scaling factor (as a percentage) of math with respect to the
+ surrounding text. The `HTML-CSS` output processor tries to match
+ the en-size of the mathematics with that of the text where it is
+ placed, but you may want to adjust the results using this scaling
+ factor. The user can also adjust this value using the contextual
+ menu item associated with the typeset mathematics.
+
+.. describe:: minScaleAdjust: 50
+
+ This gives a minimum scale (as a percent) for the scaling used my
+ MathJax to match the equation to the surrounding text. This will
+ prevent MathJax from making the mathematics too small.
+
+.. describe:: availableFonts: ["STIX","TeX"]
+
+ This is a list of the fonts to look for on a user's computer in
+ preference to using MathJax's web-based fonts. These must
+ correspond to directories available in the
+ ``jax/output/HTML-CSS/fonts`` directory, where MathJax stores data
+ about the characters available in the fonts. Set this to
+ ``["TeX"]``, for example, to prevent the use of the :term:`STIX`
+ fonts, or set it to an empty list, `[]`, if you want to force
+ MathJax to use web-based or image fonts.
+
+.. describe:: preferredFont: "TeX"
+
+ Which font to prefer out of the ``availableFonts`` list, when more
+ than one is available on the user's computer.
+
+.. describe:: webFont: "TeX"
+
+ This is the web-based font to use when none of the fonts listed
+ above are available on the user's computer. Note that currently
+ only the `TeX` font is available in a web-based form (they are
+ stored in the ``fonts/HTML-CSS`` folder in the MathJax directory.
+ Set this to ``null`` to disable web fonts.
+
+.. describe:: imageFont: "TeX"
+
+ This is the font to use for image fallback mode (when none of the
+ fonts listed above are available and the browser doesn't support
+ web-fonts via the ``@font-face`` CSS directive). Note that currently
+ only the TeX font is available as an image font (they are stores
+ in the ``fonts/HTML-CSS`` directory).
+
+ Set this to ``null`` if you want to prevent the use of image fonts
+ (e.g., you have deleted or not installed the image fonts on your
+ server). In this case, only browsers that support web-based fonts
+ will be able to view your pages without having the fonts installed
+ on the client computer. The browsers that support web-based fonts
+ include: IE6 and later, Chrome, Safari3.1 and above, Firefox3.5
+ and later, and Opera10 and later. Note that Firefox3.0 is **not**
+ on this list.
+
+.. describe:: styles: {}
+
+ This is a list of CSS declarations for styling the HTML-CSS
+ output. See the definitions in ``jax/output/HTML-CSS/config.js``
+ for some examples of what are defined by default. See :ref:`CSS
+ Style Objects <css-style-objects>` for details on how to specify
+ CSS style in a JavaScript object.
+
+.. describe:: showMathMenu: true
+
+ This controls whether the MathJax contextual menu will be
+ available on the mathematics in the page. If true, then
+ right-clicking (on the PC) or control-clicking (on the Mac) will
+ produce a MathJax menu that allows you to get the source of the
+ mathematics in various formats, change the size of the mathematics
+ relative to the surrounding text, get information about
+ MathJax, and configure other MathJax settings.
+
+ Set this to ``false`` to disable the menu. When ``true``, the
+ ``MathMenu`` configuration block determines the operation of the
+ menu. See :ref:`the MathMenu options <configure-MathMenu>` for
+ more details.
+
+.. describe:: tooltip: { ... }
+
+ This sets the configuration options for ``<maction>`` elements
+ with ``actiontype="tooltip"``. (See also the ``#MathJax_Tooltip``
+ style setting in ``jax/output/HTML-CSS/config.js``, which can be
+ overridden using the ``styles`` option above.)
+
+ The ``tooltip`` section can contain the following options:
+
+ .. describe:: delayPost: 600
+
+ The delay (in milliseconds) before the tooltip is posted after
+ the mouse is moved over the ``maction`` element.
+
+ .. describe:: delayClear: 600
+
+ The delay (in milliseconds) before the tooltop is cleared
+ after the mouse moves out of the ``maction`` element.
+
+ .. describe:: offsetX: 10 and offsetY: 5
+
+ These are the offset from the mouse position (in pixels)
+ where the tooltip will be placed.
diff --git a/docs/rst/options/MMLorHTML.rst b/docs/source/options/MMLorHTML.rst
diff --git a/docs/rst/options/MathML.rst b/docs/source/options/MathML.rst
diff --git a/docs/source/options/MathMenu.rst b/docs/source/options/MathMenu.rst
@@ -0,0 +1,79 @@
+.. _configure-MathMenu:
+
+**********************
+The MathMenu extension
+**********************
+
+The options below control the operation of the contextual menu that is
+available on mathematics that is typeset by MathJax.
+They are listed with their default values. To set any of these
+options, include a ``MathMenu`` section in your
+:meth:`MathJax.Hub.Config()` call. For example
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ MathMenu: {
+ delay: 600
+ }
+ });
+
+would set the ``delay`` option to 600 milliseconds.
+
+.. describe:: delay: 150
+
+ This is the hover delay for the display (in milliseconds) for
+ submenus in the contextual menu: when the mouse is over a submenu
+ label for this long, the menu will appear. (The submenu also will
+ appear if you click on its label.)
+
+.. describe:: helpURL: "http://www.mathjax.org/help/user/"
+
+ This is the URL for the MathJax Help menu item. When the user
+ selects that item, the browser opens a new window with this URL.
+
+.. describe:: showRenderer: true
+
+ This controls whether the "Math Renderer" item will be displayed in
+ the the "Settings" submenu of the mathematics contextual menu. It
+ allows the user to change between the `HTML-CSS` and `NativeMML`
+ output processors for the mathematics on the page. Set to
+ ``false`` to prevent this menu item from showing.
+
+.. describe:: showContext: false
+
+ This controls whether the "Contextual Menu" item will be displayed
+ in the the "Settings" submenu of the mathematics contextual menu.
+ It allows the user to decide whether the MathJax menu or the
+ browser's default contextual manu will be shown when the context
+ menu click occurs over mathematics typeset by MathJax. (The main
+ reason to allow pass-through to the browser's menu is to gain
+ access to the MathPlayer contextual menu when the NativeMML output
+ processor is used in Internet Explorer with the `MathPlayer plugin
+ <http://www.dessci.com/en/products/mathplayer/>`_.) Set to
+ ``false`` to prevent this menu item from showing.
+
+.. describe:: showFontMenu: false
+
+ This controls whether the "Font Preference" item will be displayed
+ in the the "Settings" submenu of the mathematics contextual menu.
+ This submenu lets the user select what font to use in the
+ mathematics produced by the `HTML-CSS` output processor. Note that
+ changing the selection in the font menu will cause the page to
+ reload. Set to ``false`` to prevent this menu item from showing.
+
+.. describe:: windowSettings: { ... }
+
+ These are the settings for the ``window.open()`` call that
+ creates the `Show Source` window. The initial width and height
+ will be reset after the source is shown in an attempt to make the
+ window fit the output better.
+
+.. describe:: styles: {}
+
+ This is a list of CSS declarations for styling the menu
+ components. See the definitions in ``extensions/MathMenu.js`` for
+ details of what are defined by default. See :ref:`CSS Style
+ Objects <css-style-objects>` for details on how to specify CSS
+ style in a JavaScript object.
+
diff --git a/docs/rst/options/MathZoom.rst b/docs/source/options/MathZoom.rst
diff --git a/docs/rst/options/NativeMML.rst b/docs/source/options/NativeMML.rst
diff --git a/docs/source/options/TeX.rst b/docs/source/options/TeX.rst
@@ -0,0 +1,81 @@
+.. _configure-TeX:
+
+***********************
+The TeX input processor
+***********************
+
+The options below control the operation of the TeX input processor
+that is run when you include ``"input/TeX"`` in the `jax` array of
+your configuration. They are listed with their default values. To
+set any of these options, include a ``TeX`` section in your
+:meth:`MathJax.Hub.Config()` call. For example
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ TeX: {
+ Macros: {
+ RR: '{\\bf R}',
+ bold: ['{\\bf #1}', 1]
+ }
+ }
+ });
+
+would set the ``Macros`` configuration option to cause two new macros
+to be defined within the TeX input processor.
+
+.. describe:: TagSide: "right"
+
+ This specifies the side on which ``\tag{}`` macros will place the
+ tags. Set it to ``"left"`` to place the tags on the left-hand side.
+
+.. describe:: TagIndent: ".8em"
+
+ This is the amount of indentation (from the right or left) for the
+ tags produced by the ``\tag{}`` macro.
+
+.. describe:: MultLineWidth: "85%"
+
+ The width to use for the `multline` environment that is part of
+ the ``AMSmath`` extension. This width gives room for tags at
+ either side of the equation, but if you are displaying mathematics
+ in a small area or a thin column of text, you might need to change
+ the value to leave sufficient margin for tags.
+
+.. describe:: Macros: {}
+
+ This lists macros to define before the TeX input processor begins.
+ These are name:value pairs where the `name` gives the name of the TeX
+ macro to be defined, and `value` gives the replacement text for the
+ macro. The `value` canbe an array of the form `[value,n]`, where
+ `value` is the replacement text and `n` is the number of parameters
+ for the macro. Note that since the `value` is a javascript string,
+ backslashes in the replacement text must be doubled to prevent them
+ from acting as javascript escape characters.
+
+ For example,
+
+ .. code-block:: javascript
+
+ Macros: {
+ RR: '{\\bf R}',
+ bold: ['{\\bf #1}', 1]
+ }
+
+ would ask the TeX processor to define two new macros: ``\RR``,
+ which produces a bold-face "R", and ``\bold{...}``, which takes one
+ parameter and set it in the bold-face font.
+
+.. describe:: MAXMACROS: 10000
+
+ Because a definition of the form ``\def\x{\x} \x`` would cause MathJax
+ to loop infinitely, the `MAXMACROS` constant will limit the nuber of
+ macro substitutions allowed in any expression processed by MathJax.
+
+.. describe:: MAXBUFFER: 5*1024
+
+ Because a definition of the form ``\def\x{\x aaa} \x`` would loop
+ infinitely, and at the same time stack up lots of a's in MathJax's
+ equation buffer, the `MAXBUFFER` constant is used to limit the size of
+ the string being processed by MathJax. It is set to 5KB, which should
+ be sufficient for any reasonable equation.
+\ No newline at end of file
diff --git a/docs/source/options/hub.rst b/docs/source/options/hub.rst
@@ -0,0 +1,220 @@
+.. _configure-hub:
+
+******************************
+The Core Configuration Options
+******************************
+
+The options below control the MathJax Hub, and so determine the code
+behavior of MathJax. They are given with their default values.
+
+.. describe:: jax: ["input/TeX","output/HTML-CSS"]
+
+ A comma-separated list of input and output jax to initialize at
+ startup. Their main code is loaded only when they are actually
+ used, so it is not inefficient to include jax that may not
+ actually be used on the page. These are found in the ``MathJax/jax``
+ directory.
+
+.. describe:: extensions: []
+
+ A comma-separated list of extensions to load at startup. The
+ default directory is ``MathJax/extensions``. The ``tex2jax`` and
+ ``mml2jax`` preprocessors can be listed here, as well as a number
+ of TeX-specific extensions (see the :ref:`TeX and LaTeX input
+ <tex-and-latex-input>` section of the :ref:`Getting Started
+ <getting-started>` document for more details). There is also a
+ ``FontWarnings`` extension that you can use to inform your user
+ that mathematics fonts are available that they can download to
+ improve their experience of your site.
+
+.. describe:: config: []
+
+ A comma-separated list of configuration files to load when MathJax
+ starts up, e.g., to define local macros, etc., and there is a
+ sample config file named ``config/local/local.js``. The default
+ directory is the `MathJax/config` directory. The ``MMLorHTML.js``
+ configuration is the only other predefined configuration file.
+
+.. describe:: styleSheets: []
+
+ A comma-separated list of CSS stylesheet files to be loaded when
+ MathJax starts up. The default directory is the `MathJax/config`
+ directory.
+
+.. describe:: styles: {}
+
+ CSS `selector: rules;` styles to be defined dynamically at startup
+ time.
+
+.. describe:: preJax: null and postJax: null
+
+ Patterns to remove from before and after math script tags. If you
+ are not using one of the preprocessors, you need to insert
+ something extra into your HTML file in order to avoid a bug in
+ Internet Explorer. IE removes spaces from the DOM that it thinks
+ are redundent, and since a ``<script>`` tag usually doesn't add
+ content to the page, if there is a space before and after a
+ MathJax ``<script>`` tag, IE will remove the first space. When
+ MathJax inserts the typeset mathematics, this means there will be
+ no space before it and the preceeding text. In order to avoid
+ this, you should include some "guard characters" before or after
+ the math SCRIPT tag; define the patterns you want to use below.
+ Note that these are used as regular expressions, so you will need
+ to quote special characters. Furthermore, since they are
+ javascript strings, you must quote javascript special characters
+ as well. So to obtain a backslash, you must use ``\\`` (doubled
+ for javascript). For example, ``"\\["`` represents the pattern
+ ``\[`` in the regular expression. That means that if you want an
+ actual backslash in your guard characters, you need to use
+ ``"\\\\"`` in order to get ``\\`` in the regular expression, and
+ ``\`` in the actual text. If both preJax and postJax are defined,
+ both must be present in order to be removed.
+
+ See also the ``preRemoveClass`` comments below.
+
+ Examples:
+
+ ``preJax: "\\\\\\\\\"`` makes a double backslash the preJax text
+
+ ``preJax: "\\[\\[", postJax: "\\]\\]"`` makes it so jax
+ scripts must be enclosed in double brackets.
+
+.. describe:: preRemoveClass: "MathJax_Preview"
+
+ The CSS class for a math preview to be removed preceeding a
+ MathJax SCRIPT tag. If the tag just before the MathJax
+ ``<script>`` tag is of this class, its contents are removed when
+ MathJax processes the ``<script>`` tag. This allows you to
+ include a math preview in a form that will be displayed prior to
+ MathJax performing its typesetting. It also avoids the Internet
+ Explorer space-removal bug, and can be used in place of ``preJax``
+ and ``postJax`` if that is more convenient.
+
+ For example
+
+ .. code-block:: html
+
+ <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
+
+ would display "[math]" in place of the math until MathJax is able
+ to typeset it.
+
+ See also the ``preJax`` and ``postJax`` comments above.
+
+.. describe:: showProcessingMessages: true
+
+ This value controls whether the `Processing Math: nn%` message are
+ displayed in the lower left-hand corner. Set to ``false`` to
+ prevent those messages (though file loading and other messages
+ will still be shown).
+
+.. describe:: messageStyle: "normal"
+
+ This value controls the verbosity of the messages in the lower
+ left-hand corner. Set it to ``"none"`` to eliminate all messages,
+ or set it to ``"simple"`` to show "Loading..." and "Processing..."
+ rather than showing the full file name or the percentage of the
+ mathematics processed.
+
+.. describe:: displayAlign: "center" and displayIndent: "0em"
+
+ These two parameters control the alignment and shifting of
+ displayed equations. The first can be ``"left"``, ``"center"``,
+ or ``"right"``, and determines the alignment of displayed
+ equations. When the alignment is not ``"center"``, the second
+ determines an indentation from the left or right side for the
+ displayed equations.
+
+
+.. describe:: delayStartupUntil: "none"
+
+ Normally MathJax will perform its starup commands (loading of
+ configuration, styles, jax, and so on) as soon as it can. If you
+ expect to be doing additional configuration on the page, however,
+ you may want to have it wait until the page's onload hander is
+ called. If so, set this to ``"onload"``. You can also set this to
+ ``"configured"``, in which case, MathJax will delay its startup until
+ you explicitly call :meth:`MathJax.Hub.Configured()`. See
+ :ref:`Configuring MathJax after it is loaded <delayStartupUntil>` for more
+ details.
+
+.. describe:: skipStartupTypeset: false
+
+ Normally MathJax will typeset the mathematics on the page as soon
+ as the page is loaded. If you want to delay that process, in
+ which case you will need to call :meth:`MathJax.Hub.Typeset()`
+ yourself by hand, set this value to ``true``.
+
+.. describe:: menuSettings: { ... }
+
+ This block contains settings for the mathematics contextual menu
+ that act as the defaults for the user's settings in that menu.
+ The possible values are:
+
+ .. describe:: zoom: "none"
+
+ This indicates when typeset mathematics should be zoomed. It
+ can be set to ``"None"``, ``"Hover"``, ``"Click"``, or
+ ``"Double-Click"`` to set the zoom trigger.
+
+ .. describe:: CTRL: false, ALT: false, CMD: false, Shift: false
+
+ These values indicate which keys must be pressed in order for
+ math zoom to be triggered. For example, if ``CTRL`` is set to
+ ``true`` and ``zoom`` is ``"Click"``, then math will be zoomed
+ only when the user control-clicks on mathematics (i.e., clicks
+ while holding down the `CTRL` key). If more than one is
+ ``true``, then all the indicated keys must be pressed for the
+ zoom to occur.
+
+ .. describe:: zscale: "200%"
+
+ This is the zoom scaling factor, and it can be set to any of
+ the values available in the `Zoom Factor` menu of the
+ `Settings` submenu of the contextual menu.
+
+ .. describe:: context: "MathJax"
+
+ This controls what contextual menu will be presented when a
+ right click (on a PC) or CTRL-click (on the Mac) occurs over a
+ typeset equation. When set to ``"MathJax"``, the MathJax
+ contextual menu will appear; when set to ``"Browser"``, the
+ browser's contextual menu will be used. For example, in
+ Internet Explorer with the MathPlayer plugin, if this is set
+ to ``"Browser"``, you will get the MathPlayer contextual menu
+ rather than the MathJax menu.
+
+ There are also settings for ``format``, ``renderer``, and ``font``,
+ but these are maintained by MathJax and should not be set by the
+ page author.
+
+.. describe:: errorSettings: { ... }
+
+ This block contains settings that control how MathJax responds to
+ unexpected errors while processing mathematical equations. Rather
+ than simply crash, MathJax can report an error and go on. The
+ options you can set include:
+
+ .. describe:: message: ["[Math Processing Error"]]
+
+ This is an HTML snippet that will be inserted at the location
+ of the mathematics for any formula that causes MathJax to
+ produce an internal error (i.e., an error in the MathJax code
+ itself). See the :ref:`description of HTML snippets
+ <html-snippets>` for details on how to represent HTML code in
+ this way.
+
+ .. describe:: style: {color:"#CC0000", "font-style":"italic"}
+
+ This is the CSS style description to use for the error
+ messages produced by internal MathJax errors. See the section
+ on :ref:`CSS style objects <css-style-objects>` for details on
+ how these are specified in JavaScript.
+
+.. describe:: v1.0-compatible: true
+
+ This controls whether MathJax issues the warning about not having an
+ explicit configuration in the event that the `jax` array is empty
+ after configuration is complete. If you really intend that array to
+ be empty, set this flag to ``false``. Note that setting this to false
+ does **not** cause a default configuration file to be loaded.
+\ No newline at end of file
diff --git a/docs/source/options/index.rst b/docs/source/options/index.rst
@@ -0,0 +1,91 @@
+.. _configuration:
+
+*********************
+Configuration Objects
+*********************
+
+The various components of MathJax, including its input and output
+processors, its preprocessors, its extensions, and the MathJax core,
+all can be configured through the ``config/default.js`` file, or via a
+:meth:`MathJax.Hub.Config()` call (indeed, if you look closely, you
+will see that ``config/default.js`` is itself one big call to
+:meth:`MathJax.Hub.Config()`). Anything that is in
+``config/default.js`` can be included in-line to configure MathJax.
+
+The structure that you pass to :meth:`MathJax.Hub.Config()` is a
+JavaScript object that includes name-value pairs giving the names of
+parameters and their values, with pairs separated by commas. Be
+careful not to include a comma after the last value, however, as some
+browsers (namely Internet Explorer) will fail to process the
+configuration if you do.
+
+The MathJax components, like the TeX input processor, have their own
+sections in the configuration object, labeled by the component name,
+and using a configuration object as its value. The object is itself
+a configuration object made up of name-value pairs that give the
+configuration options for the component.
+
+For example,
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ showProcessingMessages: false,
+ jax: ["input/TeX", "output/HTML-CSS"],
+ TeX: {
+ TagSide: "left",
+ Macros: {
+ RR: '{\\bf R}',
+ bold: ['{\\bf #1}',1]
+ }
+ }
+ });
+
+is a configuration that includes two settings for the MathJax Hub (one
+for `showProcessingMessages` and one of the `jax` array), and a
+configuration object for the TeX input processor. The latter includes
+a setting for the TeX input processor's `TagSide` option (to set tags
+on the left rather than the right) and a setting for `Macros`, which
+defines new TeX macros (in this case, two macros, one called ``\RR``
+that produces a bold "R", and one called ``\bold`` that puts is
+argument in bold face).
+
+The ``config/MathJax.js`` file is another example that shows nearly
+all the configuration options for all of MathJax's components.
+
+
+Configuration Options by Component
+==================================
+
+The individual options are explained in the following sections, which
+are categorized by the component they affect.
+
+.. toctree::
+ :maxdepth: 1
+
+ The core options <hub>
+
+.. toctree::
+ :maxdepth: 1
+
+ The tex2jax preprocessor options <tex2jax>
+ The mml2jax preprocessor options <mml2jax>
+ The jsMath2jax preprocessor options <jsMath2jax>
+
+.. toctree::
+ :maxdepth: 1
+
+ The TeX input processor options <TeX>
+ The MathML input processor options <MathML>
+ The HTML-CSS output processor options <HTML-CSS>
+ The NativeMML output processor options <NativeMML>
+ The MMLorHTML configuration options <MMLorHTML>
+
+.. toctree::
+ :maxdepth: 1
+
+ The MathMenu options <MathMenu>
+ The MathZoom options <MathZoom>
+ The FontWarnings options <FontWarnings>
+
+
diff --git a/docs/rst/options/jsMath2jax.rst b/docs/source/options/jsMath2jax.rst
diff --git a/docs/rst/options/mml2jax.rst b/docs/source/options/mml2jax.rst
diff --git a/docs/rst/options/tex2jax.rst b/docs/source/options/tex2jax.rst
diff --git a/docs/source/output.rst b/docs/source/output.rst
@@ -0,0 +1,159 @@
+.. _output-formats:
+
+**********************
+MathJax Output Formats
+**********************
+
+Currently, MathJax can render math in two ways:
+
+- Using HTML-with-CSS to lay out the mathematics, or
+- Using a browser's native MathML support.
+
+These are implemented by the `HTML-CSS` and `NativeMML` output
+processors.
+
+If you are using one of the combined configuration files, then this will
+select one of these output processors for you. If the config file ends in
+``_HTML``, then it is the HTML-CSS output processor, and if it ends in
+``_HTMLorMML``, then the NativeMML output processor will be chosen if the
+browser supports it, otherwise HTML-CSS output will be used.
+
+If you are performing your own in-line or file-based configuration, you
+select which one you want to use by including either ``"output/HTML-CSS"``
+or ``"output/NativeMML"`` in the `jax` array of your MathJax configuration.
+For example
+
+.. code-block:: javascript
+
+ jax: ["input/TeX","output/HTML-CSS"]
+
+would specify TeX input and HTML-with-CSS output for the mathematics
+in your document.
+
+The HTML-CSS output processor produces high-quality output in all
+major browsers, with results that are consistent across browsers and
+operating systems. This is MathJax's primary output mode. It's major
+advantage is its quality and consistency; it's drawback is that it is
+slower than the NativeMML mode at rendering the mathematics. (The
+HTML-CSS processor has not yet been optimized for speed, so you can
+expect some improvement in the future. Note that IE8 in "IE8
+standards mode" is an order of magnitude slower than any other browser
+when processing math through the HTML-CSS output processor; see
+:ref:`HTML-CSS with IE8 <html-css-with-ie8>` below for some strategies
+to deal with this.)
+
+The NativeMML output processor uses the browser's internal MathML support (if
+any) to render the mathematics. Currently, Firefox has native support
+for MathML, and IE has the `MathPlayer plugin
+<http://www.dessci.com/en/products/mathplayer/>`_ for rendering
+MathML. Opera has some built-in support for MathML that works well
+with simple equations, but fails with more complex formulas, so we
+don't recommend using the NativeMML output processor with Opera. Safari,
+Chrome, Konqueror, and most other browsers don't support MathML
+natively, but may in the future, since MathML is part of the HTML5
+specification.
+
+The advantage of the NativeMML output Processor is its speed, since native
+MathML support is much faster than using complicated HTML and CSS to lay
+out mathematics, as the HTML-CSS output processor does. The disadvantage
+is that you are dependent on the browser's MathML implementation for your
+rendering, and these vary in quality of output and completeness of
+implementation. MathJax may rely on features that are not available in
+some renderers (for example, Firefox's MathML support does not implement
+some of the named widths, such as ``negativethinmathspace``). The results
+using the NativeMML output processor may have spacing or other rendering
+problems that are outside of MathJax's control.
+
+Automatic Selection of the Output Processor
+===========================================
+
+Since not all browsers support MathML natively, it would be unwise to
+choose the NativeMML output processor unless you are sure of your
+audience's browser capabilities. MathJax can help with that, however,
+since a number of its combined configuration files will select NativeMML
+output when the browser supports it, and HTML-CSS output otherwise. These
+are the configuration files that end in ``_HTMLorMML``.
+
+If you are doing your own configuration, there is a special configuration
+file that you can include that will choose between NativeMML and HTML-CSS
+depending on the browser in use. To invoke it, add ``"MMLorHTML.js"`` to
+your configurations `config` array, and **do not** include an output
+processor in your `jax` array; MathJax will fill that in for you based on
+the abilities of your user's browser.
+
+.. code-block:: javascript
+
+ config: ["MMLorHTML.js"],
+ jax: ["input/TeX"]
+
+You can customize which choice to make on a browser-by-browser basis
+or a global basis. See the ``config/default.js`` file or the
+:ref:`Configuring MMLorHTML <configure-MMLorHTML>` section for futher
+details. As an example, this configuration tells MathJax to use HTML-CSS
+output rather than native MathML support for Firefox:
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ MMLorHTML: { prefer: { Firefox: "HTML" } }
+ });
+ </script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+
+With this configuration, MathML output will be used only for IE with the
+MathPlayer plugin (Firefox is the only other browser to have native MathML
+support that is sufficient for use with MathJax). Note, however, that a
+user can employ the MathJax contectual menu to select the other renderer if
+he or she wishes.
+
+MathJax produces MathML that models the underlying mathematics as best
+it can, rather than using complicated hacks to improve output for a
+particular MathML implementation. When you make the choice to use the
+NativeMML output processor, you are making a trade-off: gaining speed
+at the expense of quality and reliability, a decision that should not
+be taken lightly.
+
+
+.. _html-css-with-ie8:
+
+HTML-CSS with IE8
+=================
+
+Internet Explorer 8 has at least eight different rendering modes in which
+it can operate, and that are triggered by the `DOCTYPE` of the document
+being viewed. Its "quirks" mode is its fastest mode, and its "IE8
+standards" mode is its slowest. This is the mode triggered by strict HTML
+document types, and since most modern content management systems now
+include a `DOCTYPE` that activates "standards" mode, IE8 will operate in
+its slowest manner. This is particularly apparent when MathJax is used,
+since IE8 in standards mode runs 20 to 30 times slower than it does in its
+IE7 emulation mode, and 60 times slower than in quirks mode, on the sample
+equations page in ``test/sample.html``.
+
+Most users find this speed reduction unacceptable when there is much
+mathematics on the page. To overcome this problem, you may wish to
+tell IE8 to use its IE7 emulation mode rather than its IE8 standards
+mode. You can accomplish this by including the line
+
+.. code-block:: html
+
+ <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
+
+at the top of the ``<head>`` section of your HTML documents. This
+lets you keep the strict `DOCTYPE` for validation purposes, while
+still managing to get reasonable perforance from Internet Explorer
+8. Note that this line must come at the beginning of the ``<head>``,
+before any stylesheets or other content are loaded.
+
+Altertnatively, you can use the `MMLorHTML` configuration file
+described above to select NativeMML output when possible, and request
+that your users install the `MathPlayer plugin
+<http://www.dessci.com/en/products/mathplayer/>`_, which will render
+the mathematics much more quickly.
+
+It appears that IE9 in IE9 standards mode may perform better than IE8, but
+since IE9 is still in beta testing as of this writing, we have yet to see
+exactly what the performance of MathJax in IE9 will be like.
diff --git a/docs/source/platforms/index.rst b/docs/source/platforms/index.rst
@@ -0,0 +1,78 @@
+.. _platforms:
+
+======================================
+Using MathJax in popular web platforms
+======================================
+
+MathJax plugins are available for a growing number of wikis, blogs, and
+other content-management systems. These include WordPress, Blogger,
+Sphinx, TiddlyWiki, and MathEL-Wiki. A list of these is available in the
+`web applications and integrations
+<http://www.mathjax.org/community/mathjax-in-use/#web-apps>`_ list of the
+`MathJax web site <http://www.mathjax.org>`_.
+
+If the program you are using is not one of these, you may still be able to
+use MathJax by modifying the theme or template for your wiki or blog.
+
+
+Using MathJax in a Theme File
+=============================
+
+Most web-based content-management systems include a theme or template
+layer that determines how the pages look, and that loads information
+common to all pages. Such theme files provide one popular way to
+include MathJax in your web templates in the absense of
+MathJax-specific plugins for the system you are using. To take
+advantage of this approach, you will need access to your theme files,
+which probably means you need to be an administrator for the site; if
+you are not, you may need to have an administrator do these steps for
+you.
+
+To enable MathJax in your web platform, add the line::
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+
+either just before the ``</head>`` tag in your theme file, or at the end of
+the file if it contains no ``</head>``.
+
+The theme files for various popular platforms are:
+
+ `WordPress <http://wordpress.org/>`_
+ ``wp-content/themes/[current_theme]/header.php``
+
+ `Movable Type <http://www.movabletype.org/>`_
+ ``[current_theme_templates]/html_head.mhtml``
+
+ `Drupal <http://drupal.org/>`_
+ ``themes/[current_theme]/page.tpl.php``
+
+ `Joomla <http://www.joomla.org/>`_
+ ``templates/[current_theme]/index.php``
+
+ `MediaWiki <http://www.mediawiki.org/>`_
+ ``skins/[current_skin].php``
+
+ `TiddlyWiki <http://www.tiddlywiki.com/>`_
+ ``*.php`` (Whatever you call your TiddlyWiki php file)
+
+ `Moodle <http://moodle.org/>`_
+ ``theme/[current_theme]/header.html``
+
+Keep in mind that this will enable MathJax for your current
+theme/template only. If you change themes or update your theme, you
+will have to repeat these steps.
+
+
+Insructions for Specific Platforms
+==================================
+
+Some programs, such as WordPress and Moveable Type, allow you to edit
+template files from inside their administrator interfaces. Specific
+instructions for these are given via the links below.
+
+.. toctree::
+ :maxdepth: 1
+
+ Wordpress <wordpress>
+ Movable Type <movable-type>
diff --git a/docs/source/platforms/movable-type.rst b/docs/source/platforms/movable-type.rst
@@ -0,0 +1,38 @@
+.. _platform-movable-type:
+
+=============================
+Using MathJax in Movable Type
+=============================
+
+1. Open Moveable Type Admin interface for the site on which you want to enable
+ MathJax.
+
+2. In the dashboard menu on the left, open up the Design menu. This
+ should show you the templates you are currently using on the site.
+
+ .. image:: ../images/mt_menu.png
+
+
+3. Scroll down to the Template Modules section in the template list
+ and open the `HTML Head` template.
+
+ .. image:: ../images/mt_templates.png
+
+4. At the end of the file, insert
+
+ .. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+
+ to load MathJax from our distributed netowrk service.
+
+ .. image:: ../images/mt_head.png
+
+5. Save the file. This will enable MathJax with both TeX and MathML
+ input, so you should be able to start adding mathematical content to
+ your pages. If you need to adjust the configuraiton, see
+ :ref:`Configuring MathJax <loading>` for more details.
+
+
diff --git a/docs/source/platforms/wordpress.rst b/docs/source/platforms/wordpress.rst
@@ -0,0 +1,42 @@
+.. _platform-wordpress:
+
+===============================
+Installing MathJax in WordPress
+===============================
+
+Note that there is a `WordPress plugin for MathJax
+<http://wordpress.org/extend/plugins/mathjax-latex/>`_, so that may be a
+better choice than editing the theme directly.
+
+1. Open the WordPress admin interface.
+
+2. In the administration menu on the left, open up the `Appearance`
+ menu and click on the `Editor` submenu option.
+
+ .. image:: ../images/wp_menu.png
+
+ When you click on the editor option, WordPress should open up the
+ first stylesheet in the current theme.
+
+3. In the template list on the right side of the page, click on the
+ header file (it should be ``header.php``).
+
+ .. image:: ../images/wp_templates.png
+
+ This part depends slightly on how your current theme is written.
+ In the ``header.php`` file, look for the end-of-head tag,
+ ``</head>``. If you find it, insert
+
+ .. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+
+ just before that. Otherwise, insert the same code at the very
+ bottom of the file.
+
+4. Save the file. This will enable MathJax with both TeX and MathML
+ input, so you should be able to start adding mathematical content to
+ your pages. If you need to adjust the configuraiton, see
+ :ref:`Configuring MathJax <loading>` for more details.
diff --git a/docs/rst/queues.rst b/docs/source/queues.rst
diff --git a/docs/rst/signals.rst b/docs/source/signals.rst
diff --git a/docs/source/start.rst b/docs/source/start.rst
@@ -0,0 +1,394 @@
+.. _getting-started:
+
+***************
+Getting Started
+***************
+
+MathJax allows you to include mathematics in your web pages, either
+using TeX and LaTeX notation, or as MathML, and you can even use both
+in the same document.
+
+There are two ways to access MathJax: the easiest way is to use the
+copy of MathJax available from our distributed network service at
+``cdn.mathjax.org``, but you can also download and install a copy of
+MathJax on your own server, or for use locally on your own hard disk
+(with no need for network access). Both of these are described below,
+with links to more detailed explanations. This page gives the
+quickest and easiest ways to get MathJax up and running on your web
+site, but you may want to read the details in order to customize the
+setup for your pages.
+
+.. _mathjax-CDN:
+
+Using the MathJax Content Delivery Network (CDN)
+================================================
+
+To use MathJax from our server, you need to do two things:
+
+1. Link MathJax into the web pages that are to include mathematics.
+
+2. Put mathematics into your web pages so that MathJax can display
+ it.
+
+You accomplish the first step by putting
+
+.. code-block:: html
+
+ <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+
+into the ``<head>`` block of your document. (It can also go in the
+``<body>`` if necessary, but the head is to be preferred.) This will
+load the latest version of MathJax from the distributed server, and
+configure it to recognize mathematics in both TeX and MathML notation,
+and ask it to generate its output using MathML if the browser supports
+that, and otherwise use HTML-with-CSS to display the mathematics.
+This is the most general configuration, and should suffice for most
+people's needs. Other configurations are available, however, and you
+can also provide additional configuration parameters to taylor one of
+the confiogurations to your needs. More details can be found in the
+:ref:`Loading and Configuring MathJax <loading>` instructions.
+
+The use of ``cdn.mathjax.org`` is governed by its `terms of service
+<http://www.mathjax.org/download/mathjax-cdn-terms-of-service/>`_, so be
+sure to read that before linked to the MathJax CDN server.
+
+To see how to enter mathematics in your web pages, see `Putting
+mathematics in a web page`_ below.
+
+
+Installing Your Own Copy of MathJax
+===================================
+
+We recommend using the CDN service if you can, but you can also install
+MathJax on your own server, or locally on your own hard disk. To do
+so you will need to do the following things:
+
+1. Obtain a copy of MathJax and make it available on your server.
+
+2. Configure MathJax to suit the needs of your site.
+
+3. Link MathJax into the web pages that are to include mathematics.
+
+4. Put mathematics into your web pages so that MathJax can display
+ it.
+
+
+Obtaining and Installing MathJax
+--------------------------------
+
+The easiest way to set up MathJax is to obtain the v1.1 archive from
+the `MathJax download page <http://www.mathjax.org/download/>`_ (you
+should obtain a file named something like
+``mathjax-MathJax-v1.1-X-XXXXXXXX.zip``, where the X's are
+random-looking letters and numbers). This archive includes both the
+MathJax code and the MathJax webfonts, so it is the only file you
+need. Note that this is different from earlier releases, which had
+the fonts separate from the rest of the code.
+
+Unpack the archive and place the resulting MathJax folder onto your
+web server at a convenient location where you can include it into your
+web pages. For example, making ``MathJax`` a top-level directory on
+your server would be one natural way to do this. That would let you
+refer to the main MathJax file via the URL ``/MathJax/MathJax.js``
+from within any page on your server.
+
+Note: While this is the easiest way to set up MathJax initially, there
+is a better way to do it if you want to be able to keep your copy of
+MathJax up-to-date. That uses the `Git <http://git-scm.com/>`_ version
+control system, and is described in the :ref:`Installing MathJax
+<getting-mathjax-git>` document. If you prefer using `Subversion
+<http://subversion.apache.org/>`_, you can also use that to get a copy
+of MathJax (see :ref:`Installing MathJax via SVN
+<getting-mathjax-svn>`).
+
+Once you have MathJax set up on your server, you can test it using the
+files in the ``MathJax/test`` directory. Load them in your browser
+using its web address rather than opening them locally (i.e., use an
+``http://`` URL rather than a ``file://`` URL). When you view the
+``index.html`` file, after a few moments you should see a message
+indicating that MathJax appears to be working. If not, check that the
+files have been transferred to the server completely and that the
+permissions allow the server to access the files and folders that are
+part of the MathJax directory. (Be sure to verify the MathJax
+folder's permissions as well.) Check the server log files for any
+errors that pertain to the MathJax installation; this may help locate
+problems in the permission or locations of files.
+
+
+Configuring your copy of MathJax
+--------------------------------
+
+When you include MathJax into your web pages as described below, it
+will load the file ``config/TeX-AMS-MML_HTMLorMML.js`` (i.e., the file
+named ``TeX-AMS-MML_HTMLorMML.js`` in the ``config`` folder of the
+main ``MathJax`` folder). This file preloads all the most comply-used
+components of MathJax, allowing it to process mathematics that is in
+the TeX or LaTeX format, or in MathML notation. It will produce
+output in MathML form if the user's browser supports that, and will use
+HTML-with-CSS to render the mathematics otherwise.
+
+There are a number of other prebuilt configuration files that you can
+choose from as well, or you could use the ``config/default.js`` file and
+customize the settings yourself. The combined configuration files are
+described more fully in :ref:`Common Configurations
+<common-configurations>`, and the configuration options are described in
+:ref:`Configuration Options <configuration>`.
+
+Note: The configuration process has changed in MathJax v1.1, so if you have
+existing pages that use MathJax, you may need to modify the tag that
+loads MathJax so that is conforms with the new configuration process.
+See :ref:`Installing and Configuring MathJax <installation>` for more
+details.
+
+
+Linking your copy of MathJax into a web page
+--------------------------------------------
+
+You can include MathJax in your web page by putting
+
+.. code-block:: html
+
+ <script type="text/javascript" src="path-to-MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+
+in your document's ``<head>`` block. Here, ``path-to-MathJax`` should
+be replaced by the URL for the main MathJax directory, so if you have
+put the ``MathJax`` directory at the top level of you server's web
+site, you could use
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+
+to load MathJax in your page. For example, your page could look like
+
+.. code-block:: html
+
+ <html>
+ <head>
+ ...
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+ </head>
+ <body>
+ ...
+ </body>
+ </html>
+
+If you have installed MathJax on a server that is in a different
+domain from the one serving the page that loads MathJax, be sure to
+read the :ref:`Notes About Shared Servers <cross-domain-linking>` for
+more details. In that case, you may wish to consider using the
+:ref:`MathJax CDN <mathjax-cdn>` rather than installing your own copy
+of MathJax.
+
+
+Putting mathematics in a web page
+=================================
+
+To put mathematics in your web page, you can use either :term:`TeX`
+and :term:`LaTeX` notation or :term:`MathML` notation or both within
+the same page; the MathJax configuration tells MathJax which you want
+to use, and how you plan to indicate the mathematics when you are
+using TeX notation. The configuration file used in the examples above
+tells MathJax to look for both TeX and MathML notation within your
+pages. These two formats are described in more detail below.
+
+
+.. _tex-and-latex-input:
+
+TeX and LaTeX input
+-------------------
+
+Mathematics that is written in :term:`TeX` or :term:`LaTeX` format is
+indicated using *math delimiters* that surround the mathematics,
+telling MathJax what part of your page represents mathematics and what
+is normal text. There are two types of equations: ones that occur
+within a paragraph (in-line mathematics), and larger equations that
+appear separated from the rest of the text on lines by themselves
+(displayed mathematics).
+
+The default math delimiters are ``$$...$$`` and ``\[...\]`` for
+displayed mathematics, and ``\(...\)`` for in-line mathematics. Note
+in particular that the ``$...$`` in-line delimiters are **not** used
+by default. That is because dollar signs appear too often in
+non-mathematical settings, which could cause some text to be treated
+as mathematics unexpectedly. For example, with single-dollar
+delimiters, "... the cost is $2.50 for the first one, and $2.00 for
+each additional one ..." would cause the phrase "2.50 for the first
+one, and" to be treated as mathematics since it falls between dollar
+signs. For this reason, if you want to use single-dollars for in-line
+math mode, you must enable that explicitly in your configuration:
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
+ });
+ </script>
+ <script type="text/javascipt" src="path-to-mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+
+See the ``config/default.js`` file, or the :ref:`tex2jax configuration
+options <configure-tex2jax>` page, for additional configuration
+parameters that you can specify for the `tex2jax` preprocessor,
+which is the component of MathJax that identifies TeX notation within
+the page). See the :ref:`TeX and LaTeX <TeX-support>` page for
+more on MathJax's support for TeX.
+
+Here is a complete sample page containing TeX mathematics (also available
+in the ``test/sample-tex.html`` file):
+
+.. code-block:: html
+
+ <!DOCTYPE html>
+ <html>
+ <head>
+ <title>MathJax TeX Test Page</title>
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
+ </script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+ </head>
+ <body>
+ When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
+ $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
+ </body>
+ </html>
+
+Since the TeX notation is part of the text of the page, there are some
+caveats that you must keep in mind when you enter your mathematics.
+In particular, you need to be careful about the use of less-than
+signs, since those are what the browser uses to indicate the start of
+a tag in HTML. Putting a space on both sides of the less-than sign
+should be sufficient, but see :ref:`TeX and LaTeX support
+<TeX-support>` for details.
+
+There are a number of extensions for the TeX input processor that are
+loaded by the ``TeX-AMS-MML_HTMLorMML`` configuration. These include:
+
+- `TeX/AMSmath.js`, which defines the AMS math environments and
+ macros,
+
+- `TeX/AMSsymbols.js`, which defines the macros for the symbols in
+ the `msam10` and `msbm10` fonts,
+
+- `TeX/noErrors.js`, which shows the original TeX code rather than
+ an error message when there is a problem processing the TeX, and
+
+- `TeX/noUndefined.js`, which prevents undefined macros from
+ producing an error message, and instead shows the macro name in red.
+
+Other extensions may be loaded automatically when needed.
+
+
+MathML input
+------------
+
+For mathematics written in :term:`MathML` notation, you mark your
+mathematics using standard ``<math>`` tags, where ``<math
+display="block">`` represents displayed mathematics and ``<math
+display="inline">`` or just ``<math>`` represents in-line mathematics.
+
+Note that this will work in HTML files, not just XHTML files (MathJax
+works with both), and that the web page need not be served with any
+special MIME-type. Also note that, unless you are using XHTML rather
+than HTML, you should not include a namespace prefix for your
+``<math>`` tags; for example, you should not use ``<m:math>`` except
+in a file where you have tied the ``m`` namespace to the MathML DTD.
+
+Here is a complete sample page containing MathML mathematics (also
+available in the ``test/sample-mml.html`` file):
+
+.. code-block:: html
+
+ <!DOCTYPE html>
+ <html>
+ <head>
+ <title>MathJax MathML Test Page</title>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </script>
+ </head>
+ <body>
+
+ When <math><mi>a</mi><mo>≠</mo><mn>0</mn></math>,
+ there are two solutions to <math>
+ <mi>a</mi><msup><mi>x</mi><mn>2</mn></msup>
+ <mo>+</mo> <mi>b</mi><mi>x</mi>
+ <mo>+</mo> <mi>c</mi> <mo>=</mo> <mn>0</mn>
+ </math> and they are
+ <math mode="display">
+ <mi>x</mi> <mo>=</mo>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mo>−</mo>
+ <mi>b</mi>
+ <mo>±</mo>
+ <msqrt>
+ <msup><mi>b</mi><mn>2</mn></msup>
+ <mo>−</mo>
+ <mn>4</mn><mi>a</mi><mi>c</mi>
+ </msqrt>
+ </mrow>
+ <mrow> <mn>2</mn><mi>a</mi> </mrow>
+ </mfrac>
+ </mrow>
+ <mtext>.</mtext>
+ </math>
+
+ </body>
+ </html>
+
+When entering MathML notation in an HTML page (rather than an XHTML
+page), you should **not** use self-closing tags, but should use explicit
+open and close tags for all your math elements. For example, you
+should use
+
+.. code-block:: html
+
+ <mspace width="thinmathspace"></mspace>
+
+rather than ``<mspace width="5pt" />`` in an HTML document. If you use the
+self-closing form, some browsers will not build the math tree properly, and
+MathJax will receive a damaged math structure, which will not be rendered
+as the original notation would have been. Unfortunately, there is nothing
+MathJax can do about that, since the browser has incorrectly interpreted
+the tags long before MathJax has a chance to work with them.
+
+The component of MathJax that recognizes MathML notation is called the
+`mml2jax` extension, and it has only a few configuration options; see the
+``config/default.js`` file or the :ref:`mml2jax configuration options
+<configure-mml2jax>` page for more details. See the :ref:`MathML
+<MathML-support>` page for more on MathJax's MathML support.
+
+
+Where to go from here?
+======================
+
+If you have followed the instructions above, you should now have
+MathJax installed and configured on your web server, and you should be
+able to use it to write web pages that include mathematics. At this
+point, you can start making pages that contain mathematical content!
+
+You could also read more about the details of how to :ref:`customize
+MathJax <loading>`.
+
+If you are trying to use MathJax in blog or wiki software or in some
+other content-management system, you might want to read about :ref:`using
+MathJax in popular platforms <platforms>`.
+
+If you are working on dynamic pages that include mathematics, you
+might want to read about the :ref:`MathJax Application Programming
+Interface <mathjax-api>` (its API), so you know how to include
+mathematics in your interactive pages.
+
+If you are having trouble getting MathJax to work, you can read more
+about :ref:`installing MathJax <installation>`, or :ref:`loading and
+configuring MathJax <loading>`.
+
+Finally, if you have questions or comments, or want to help support
+MathJax, you could visit the :ref:`MathJax community forums
+<community-forums>` or the :ref:`MathJax bug tracker
+<community-tracker>`.
diff --git a/docs/source/startup.rst b/docs/source/startup.rst
@@ -0,0 +1,160 @@
+.. _startup-sequence:
+
+****************************
+The MathJax Startup Sequence
+****************************
+
+When you load ``MathJax.js`` into a web page, it configures itself and
+immediately begins loading the components it needs. As MathJax starts
+up, it uses its :ref:`signaling mechanism <synchronization>`
+to indicate the actions that it is taking so that MathJax extensions
+can tie into the initialization process, and so other applications
+within the page can synchronize their actions with MathJax.
+
+The startup process performs the following actions:
+
+- It creates the ``MathJax`` variable, and defines the following
+ subsystems:
+
+ - ``MathJax.Object`` (object-oriented programming model)
+ - ``MathJax.Callback`` (callbacks, signals, and queues)
+ - ``MathJax.Ajax`` (file-loading and style-creation code)
+ - ``MathJax.HTML`` (support code for creating HTML elements)
+ - ``MathJax.Message`` (manages the menu line in the lower left)
+ - ``MathJax.Hub`` (the core MathJax functions)
+
+..
+
+- It then creates the base ``MathJax.InputJax``,
+ ``MathJax.OutputJax``, and ``MathJax.ElementJax`` objects.
+
+..
+
+- MathJax sets up the default configuration, and creates the
+ signal objects used for the startup and hub actions.
+
+..
+
+- MathJax locates the ``<script>`` tag that loaded the ``MathJax.js``
+ file, and sets the ``MathJax.Hub.config.root`` value to reflect the
+ location of the MathJax root directory.
+
+..
+
+- MathJax determines the browser being used and its version. It sets
+ up the ``MathJax.Hub.Browser`` object, which includes the browser
+ name and version, plus ``isMac``, ``isPC``, ``isMSIE``, and so on.
+
+..
+
+- MathJax set up the ``MathJax.Hub.queue`` command queue, and
+ populates it with the commands MathJax runs at startup. This
+ includes creating the ``MathJax.Hub.Startup.onload`` onload
+ handler that is used to synchronize MathJax's action with the
+ loading of the page.
+
+Once the ``MathJax.Hub.queue`` is created, the following actions are
+pushed into the queue:
+
+1. Post the ``Begin`` startup signal
+
+..
+
+2. Perform the configuration actions:
+
+ - Post the ``Begin Config`` startup signal
+ - Load any configuration files specified via ``config=`` as a script parameter
+ - Execute the content of the ``<script>`` that loaded MathJax, if it is not empty
+ - Wait for the ``delayStartupUntil`` condition to be met, if one was specified
+ - Execute any ``text/x-mathjax-config`` script blocks
+ - load the files listed in the ``MathJax.Hub.config.config`` array
+ - Post the ``End Config`` startup signal
+
+..
+
+3. Load the cookie values:
+
+ - Post the ``Begin Cookie`` startup signal
+ - Load the menu cookie values
+ - Use the cookie to set the renderer, if it is set
+ - Post the ``End Cookie`` startup signal
+
+..
+
+4. Define the MathJax styles:
+
+ - Post the ``Begin Styles`` startup signal
+ - Load the stylesheet files from the ``MathJax.Hub.config.stylesheets`` array
+ - Define the stylesheet described in ``MathJax.Hub.config.styles``
+ - Post the ``End Styles`` startup signal
+
+..
+
+5. Load the jax configuration files:
+
+ - Post the ``Begin Jax`` startup signal
+ - Load the jax config files from the ``MathJax.Hub.config.jax`` array
+
+ - The jax will register themselves when they are loaded
+
+ - Post the ``End Jax`` startup signal
+
+..
+
+6. Load the extension files:
+
+ - Post the ``Begin Extension`` startup signal
+ - Load the files from the ``MathJax.Hub.config.extensions`` array
+
+ - Most extensions will post a ``Extension [name] Ready``
+ startup message when they are loaded (where ``[name]`` is
+ the name of the extension)
+
+ - Post the ``End Extension`` startup signal
+
+..
+
+7. Set the MathJax menu's renderer value based on the jax that have been
+ loaded
+
+..
+
+8. Wait for the onload handler to fire
+
+..
+
+9. Set ``MathJax.isReady`` to ``true``
+
+..
+
+10. Perform the typesetting pass (preprocessors and processors)
+
+ - Post the ``Begin Typeset`` startup signal
+ - Post the ``Begin PreProcess`` hub signal
+ - Run the registered preprocessors
+ - Post the ``End PreProcess`` hub signal
+ - Clear the hub signal history
+ - Post the ``Begin Process`` hub signal
+ - Process the math script elements on the page
+
+ - Each new math element generates a ``New Math`` hub signal
+ with the math element's ID
+
+ - Post the ``End Process`` hub signal
+ - Post the ``End Typeset`` startup signal
+
+..
+
+11. Post the ``End`` startup signal
+
+
+The loading of the jax and extensions in steps 5 and 6 are now done in
+parallel, rather than sequentially. That is, all the jax and extensions
+are requested simultaneously, so they load concurrently. That means they
+can load in any order, and that the begin and end signals for the jax and
+extensions can be intermixed. (In general, you will get `Begin Jax`
+followed by `Begin Extensions`, but the order of `End Jax` and `End
+Extensions` will depend on the file sbeing loaded.) Both 5 and 6 must
+complete, however, before 7 will be performed.
+
+See the ``test/sample-signals.html`` file to see the signals in action.
+\ No newline at end of file
diff --git a/docs/source/synchronize.rst b/docs/source/synchronize.rst
@@ -0,0 +1,64 @@
+.. _synchronization:
+
+************************************
+Synchronizing your code with MathJax
+************************************
+
+MathJax performs much of its activity asynchronously, meaning that
+the calls that you make to initiate these actions will return before
+the actions are completed, and your code will continue to run even
+though the actions have not been finished (and may not even be started
+yet). Actions such as loading files, loading web-based fonts, and
+creating stylesheets all happen asynchronously within the browser, and
+since JavaScript has no method of halting a program while waiting for
+an action to complete, synchronizing your code with these types of
+actions is made much more difficult. MathJax used three mechanisms to
+overcome this language shortcoming: callbacks, queues, and signals.
+
+**Callbacks** are functions that are called when an action is
+completed, so that your code can continue where it left off when the
+action was initiated. Rather than have a single routine that
+initiates an action, waits for it to complete, and then goes on, you
+break the function into two parts: a first part that sets up and
+initiates the action, and a second that runs after the action is
+finished. Callbacks are similar to event handlers that you attach to
+DOM elements, and are called when an certain action occurs. See the
+:ref:`Callback Object <api-callback>` reference page for details of
+how to specify a callback.
+
+**Queues** are MathJax's means of synchronizing actions that must be
+performed sequentially, even when they involve asynchronous events
+like loading files or dynamically creating stylesheets. The actions
+that you put in the queue are `Callback` objects that will be perfomed
+in sequence, with MathJax handling the linking of one action to the
+next. MathJax maintains a master queue that you can use to
+synchronize with MathJax, but you can also create your own private
+queues for actions that need to be synchronized with each other, but
+not to MathJax as a whole. See the :ref:`Queue Object <api-queue>`
+reference page for more details.
+
+**Signals** are another means of synchronizing your own code with MathJax.
+Many of the important actions that MathJax takes (like typesetting new math
+on the page, or loading an external component) are "announced" by posting a
+message to a special object called a `Signal`. Your code can register an
+interest in receiving one or more of these signals by providing a callback
+to be called when the signal is posted. When the signal arrives, MathJax
+will call your code. This works somewhat like an event handler, except
+that many different types of events can go through the same signal, and the
+signals have a "memory", meaning that if you register an interest in a
+particular type of signal and that signal has already occurred, you will be
+told about the past occurrances as well as any future ones. See the
+:ref:`Signal Object <api-signal>` reference page for more details. See
+also the ``test/sample-signals.html`` file in the MathJax ``test``
+directory for a working example of using signals.
+
+Each of these is explained in more detail in the links below:
+
+.. toctree::
+ :maxdepth: 1
+
+ Using Callbacks <callbacks>
+ Using Queues <queues>
+ Using Signals <signals>
+
+
diff --git a/docs/source/tex.rst b/docs/source/tex.rst
@@ -0,0 +1,1162 @@
+.. _TeX-support:
+
+*****************************
+MathJax TeX and LaTeX Support
+*****************************
+
+The support for :term:`TeX` and :term:`LaTeX` in MathJax consists of two
+parts: the `tex2jax` preprocessor, and the `TeX` input processor. The
+first of these looks for mathematics within your web page (indicated by
+math delimiters like ``$$...$$``) and marks the mathematics for later
+processing by MathJax. The TeX input processor is what converts the TeX
+notation into MathJax's internal format, where one of MathJax's output
+processors then displays it in the web page.
+
+The `tex2jax` preprocessor can be configured to look for whatever
+markers you want to use for your math delimiters. See the
+:ref:`tex2jax configuration options <configure-tex2jax>` section for
+details on how to customize the action of `tex2jax`.
+
+The TeX input processor handles conversion of your mathematical
+notation into MathJax's internal format (which is essentially MathML),
+and so acts as a TeX to MathML converter. The TeX input processor has
+few configuration options (see the :ref:`TeX options
+<configure-TeX>` section for details), but it can also be customized
+through the use of extensions that define additional functionality
+(see the :ref:`TeX and LaTeX extensions <tex-extensions>` below).
+
+Note that the TeX input processor implements **only** the math-mode
+macros of TeX and LaTeX, not the text-mode macros. MathJax expects
+that you will use standard HTML tags to handle formatting the text of
+your page; it only handles the mathematics. So, for example, MathJax
+does not implement ``\emph`` or
+``\begin{enumerate}...\end{enumerate}`` or other text-mode macros or
+environments. You must use HTML to handle such formatting tasks. If
+you need a LaTeX-to-HTML converter, you should consider `other options
+<http://www.google.com/search?q=latex+to+html+converter>`_.
+
+
+TeX and LaTeX math delimiters
+=============================
+
+By default, the `tex2jax` preprocesor defines the LaTeX math delimiters,
+which are ``\(...\)`` for in-line math, and ``\[...\]`` for displayed
+equations. It also defines the TeX delimiters ``$$...$$`` for displayed
+equations, but it does **not** define ``$...$`` as in-line math
+delimiters. That is because dollar signs appear too often in
+non-mathematical settings, which could cause some text to be treated
+as mathematics unexpectedly. For example, with single-dollar
+delimiters, "... the cost is $2.50 for the first one, and $2.00 for
+each additional one ..." would cause the phrase "2.50 for the first
+one, and" to be treated as mathematics since it falls between dollar
+signs. For this reason, if you want to use single-dollars for in-line
+math mode, you must enable that explicitly in your configuration:
+
+.. code-block:: javascript
+
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [['$','$'], ['\\(','\\)']],
+ processEscapes: true
+ }
+ });
+
+Note that if you do this, you may want to also set ``processEscapes`` to
+``true``, as in the example above, so that you can use ``\$`` to prevent a
+dollar sign from being treated as a math delimiter within the text of your
+web page. (Note that within TeX mathematics, ``\$`` always has this
+meaning; ``processEscapes`` only affects the treatment of the *opening*
+math delimiter.)
+
+See the ``config/default.js`` file, or the :ref:`tex2jax configuration
+options <configure-tex2jax>` page, for additional configuration
+parameters that you can specify for the `tex2jax` preprocessor,
+which is the component of MathJax that identifies TeX notation within
+the page).
+
+
+TeX and LaTeX in HTML documents
+===============================
+
+Keep in mind that your mathematics is part of an HTML document, so you
+need to be aware of the special characters used by HTML as part of its
+markup. There cannot be HTML tags within the math delimiters (other
+than ``<BR>``) as TeX-formatted math does not include HTML tags.
+Also, since the mathematics is initially given as text on the page,
+you need to be careful that your mathematics doesn't look like HTML
+tags to the browser (which parses the page before MathJax gets to see
+it). In particular, that means that you have to be careful about
+things like less-than and greater-than signs (``<``and ``>``), and
+ampersands (``&``), which have special meaning to the browsers. For
+example,
+
+.. code-block:: latex
+
+ ... when $x<y$ we have ...
+
+will cause a problem, because the brower will think ``<y`` is the
+beginning of a tag named ``y`` (even though there is no such tag in
+HTML). When this happens, the browser will think the tag continues up
+to the next ``>`` in the document (typically the end of the next
+actual tag in the HTML file), and you may notice that you are missing
+part of the text of the document. In the example above, the `` we
+have ...`` will not be displayed because the browser thinks it is
+part of the tag starting at ``<y``. This is one indication you can
+use to spot this prooblem; it is a common error and should be avoided.
+
+Usually, it is sufficient to simply put spaces around these symbols to
+cause the browser to avoid them, so
+
+.. code-block:: latex
+
+ ... when $x < y$ we have ...
+
+should work. Alternatively, you can use the HTML entities ``<``,
+``>`` and ``&`` to encode these characters so that the browser
+will not interpret them, but MathJax will. E.g.,
+
+.. code-block:: latex
+
+ ... when $x < y$ we have ...
+
+Finally, there are ``\lt`` and ``\gt`` macros defined to make it
+easier to enter ``<`` and ``>`` using TeX-like syntax:
+
+.. code-block:: latex
+
+ ... when $x \lt y$ we have ...
+
+Keep in mind that the browser interprets your text before MathJax
+does.
+
+
+.. _tex-extensions:
+
+TeX and LaTeX extensions
+========================
+
+While MathJax includes nearly all of the Plain TeX math macros, and
+many of the LaTeX macros and environments, not everything is
+implemented in the core TeX input processor. Some less-used commands
+are defined in extensions to the TeX processor. MathJax will load
+some extensions automatically when you first use the commands they
+implement (for example, the ``\def`` and ``\newcommand`` macros are
+implemented in the ``newcommand.js`` extension, but MathJax loads
+this extension itself when you use those macros). Not all extensions
+are set up to load automatically, however, so you may need to request
+some extensions explicitly yourself.
+
+To enable any of the TeX extensions, simply add the appropriate string
+(e.g., ``"AMSmath.js"``) to the `extensions` array in the ``TeX`` block
+of your configuration. If you use one of the combined configuration files,
+like ``TeX-AMS_HTML``, this will already include several of the extensions
+automatically, but you can include others using a mathjax configuration
+script prior to loading MathJax. For example
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({ TeX: { extensions: ["autobold.js"] }});
+ </script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
+ </script>
+
+will load the `autobold` TeX extension in addition to those already
+included in the ``TeX-AMS_HTML`` configuration file.
+
+The main extensions are described below.
+
+AMSmath and AMSsymbol
+---------------------
+
+The `AMSmath` extension implements AMS math environments and macros, and
+the `AMSsymbol` extension implements macros for accessing the AMS symbol
+fonts. These are already included in the combined configuration files that
+load the TeX input processor. To use these extensions in your own
+configurations, add them to the `extensions` array in the TeX block.
+
+.. code-block:: javascript
+
+ TeX: {
+ extensions: ["AMSmath.js", "AMSsymbol.js", ...]
+ }
+
+See the list of control sequences at the end of this document for details
+about what commands are implemented in these extensions.
+
+If you are not using one of the combined configuration files, the `AMSmath`
+extension will be loaded automatically when you first use one of the math
+environments it defines, but you will have to load it explicitly if you
+want to use the other macros that it defines. The `AMSsymbols` extension
+is not loaded automatically, so you must include it explicitly if you want
+to use the macros it defines.
+
+
+Autobold
+--------
+
+The `autobold` extension adds ``\boldsymbol{...}`` around mathematics that
+appears in a section of an HTML page that is in bold.
+
+.. code-block:: javascript
+
+ TeX: {
+ extensions: ["autobold.js"]
+ }
+
+This extension is **not** loaded by the combined configuration files.
+
+
+noErrors
+--------
+
+The `noErrors` extension prevents TeX error messages from being
+displayed and shows the original TeX code instead. You can configure
+whether the dollar signs are shown or not for in-line math, and
+whether to put all the TeX on one line or use multiple lines (if the
+original text contained line breaks).
+
+This extension is loaded by all the combined configuration files that
+include the TeX input processor. To enable the `noErrors` extension in
+your own configuration, or to modify its parameters, add something like the
+following to your :meth:`MathJax.Hub.Config()` call:
+
+.. code-block:: javascript
+
+ TeX: {
+ extensions: ["noErrors.js"],
+ noErrors: {
+ inlineDelimiters: ["",""], // or ["$","$"] or ["\\(","\\)"]
+ multiLine: true, // false for TeX on all one line
+ style: {
+ "font-family": "serif",
+ "font-size": "80%",
+ "color": "black",
+ "border": "1px solid"
+ // add any additional CSS styles that you want
+ // (be sure there is no extra comma at the end of the last item)
+ }
+ }
+ }
+
+Display-style math is always shown in multi-line format, and without
+delimiters, as it will already be set off in its own centered
+paragraph, like standard display mathematics.
+
+The default settings place the invalid TeX in a multi-line box with a
+black border. If you want it to look as though the TeX is just part of
+the paragraph, use
+
+.. code-block:: javascript
+
+ TeX: {
+ noErrors: {
+ inlineDelimiters: ["$","$"], // or ["",""] or ["\\(","\\)"]
+ multiLine: false,
+ style: {
+ "font-size": "normal",
+ "border": ""
+ }
+ }
+ }
+
+You may also wish to set the font family, as the default is "serif"
+
+
+noUndefined
+-----------
+
+The `noUndefined` extension causes undefined control sequences to be
+shown as their macro names rather than generating error messages. So
+``$X_{\xxx}$`` would display as an "X" with a subscript consiting of the
+text ``\xxx`` in red.
+
+This extension is loaded by all the combined configuration files that
+include the TeX input processor. To enable the `noUndefined` extension
+in your own configuration, or to modify its parameters, add something like
+the following ro your :meth:`MathJax.Hub.Config()` call:
+
+.. code-block:: javascript
+
+ TeX: {
+ extensions: ["noUndefined.js"],
+ noUndefined: {
+ attributes: {
+ mathcolor: "red",
+ mathbackground: "#FFEEEE",
+ mathsize: "90%"
+ }
+ }
+ }
+
+The ``attributes`` setting specifies attributes to apply to the
+``mtext`` element that encodes the name of the undefined macro. The
+default values set ``mathcolor`` to ``"red"``, but do not set any
+other attributes. This example sets the background to a light pink,
+and reduces the font size slightly.
+
+
+Unicode support
+---------------
+
+The `unicode` extension implements a ``\unicode{}`` extension to TeX
+that allows arbitrary unicode code points to be entered in your
+mathematics. You can specify the height and depth of the character
+(the width is determined by the browser), and the default font from
+which to take the character.
+
+Examples:
+
+.. code-block:: latex
+
+ \unicode{65} % the character 'A'
+ \unicode{x41} % the character 'A'
+ \unicode[.55,0.05]{x22D6} % less-than with dot, with height .55em and depth 0.05em
+ \unicode[.55,0.05][Geramond]{x22D6} % same taken from Geramond font
+ \unicode[Garamond]{x22D6} % same, but with default height, depth of .8em,.2em
+
+Once a size and font are provided for a given unicode point, they need
+not be specified again in subsequent ``\unicode{}`` calls for that
+character.
+
+The result of ``\unicode{...}`` will have TeX class `ORD` (i.e., it
+will act like a variable). Use ``\mathbin{...}``, ``\mathrel{...}``,
+etc., to specify a different class.
+
+Note that a font list can be given in the ``\unicode{}`` macro, but
+Internet Explorer has a buggy implementation of the ``font-family``
+CSS attribute where it only looks in the first font in the list that
+is actually installed on the system, and if the required glyph is not
+in that font, it does not look at later fonts, but goes directly to
+the default font as set in the `Internet-Options/Font` panel. For
+this reason, the default font list for the ``\unicode{}`` macro is
+``STIXGeneral, 'Arial Unicode MS'``, so if the user has :term:`STIX`
+fonts, the symbol will be taken from that (almost all the symbols are
+in `STIXGeneral`), otherwise MathJax tries `Arial Unicode MS`.
+
+The `unicode` extension is loaded automatically when you first use the
+``\unicode{}`` macro, so you do not need to add it to the `extensions`
+array. You can configure the extension as follows:
+
+.. code-block:: javascript
+
+ TeX: {
+ unicode: {
+ fonts: "STIXGeneral, 'Arial Unicode MS'"
+ }
+ }
+
+
+.. _tex-commands:
+
+Supported LaTeX commands
+========================
+
+This is a long list of the TeX macros supported by MathJax. If the
+macro is defined in an extension, the name of the extension follows
+the macro name.
+
+.. code-block:: latex
+
+ #
+ ( )
+ .
+ /
+ [ ]
+ \!
+ \#
+ \$
+ \%
+ \&
+ \:
+ \;
+ \\
+ \_
+ \{ \}
+ \|
+
+ A
+ \above
+ \abovewithdelims
+ \acute
+ \aleph
+ \alpha
+ \amalg
+ \And
+ \angle
+ \approx
+ \approxeq AMSsymbols
+ \arccos
+ \arcsin
+ \arctan
+ \arg
+ \array
+ \Arrowvert
+ \arrowvert
+ \ast
+ \asymp
+ \atop
+ \atopwithdelims
+
+ B
+ \backepsilon AMSsymbols
+ \backprime AMSsymbols
+ \backsim AMSsymbols
+ \backsimeq AMSsymbols
+ \backslash
+ \backslash
+ \bar
+ \barwedge AMSsymbols
+ \Bbb
+ \Bbbk AMSsymbols
+ \bbFont
+ \because AMSsymbols
+ \begin ... \end
+ \begin{align*} ... \end{align*}
+ \begin{alignat*} ... \end{alignat*}
+ \begin{alignat} ... \end{alignat}
+ \begin{alignedat} ... \end{alignedat}
+ \begin{aligned} ... \end{aligned}
+ \begin{align} ... \end{align}
+ \begin{array} ... \end{array}
+ \begin{Bmatrix} ... \end{Bmatrix}
+ \begin{bmatrix} ... \end{bmatrix}
+ \begin{cases} ... \end{cases}
+ \begin{eqnarray*} ... \end{eqnarray*}
+ \begin{eqnarray} ... \end{eqnarray}
+ \begin{equation*} ... \end{equation*}
+ \begin{equation} ... \end{equation}
+ \begin{gather*} ... \end{gather*}
+ \begin{gathered} ... \end{gathered}
+ \begin{gather} ... \end{gather}
+ \begin{matrix} ... \end{matrix}
+ \begin{multline*} ... \end{multline*}
+ \begin{multline} ... \end{multline}
+ \begin{pmatrix} ... \end{pmatrix}
+ \begin{smallmatrix} ... \end{smallmatrix} AMSmath
+ \begin{split} ... \end{split}
+ \begin{subarray} ... \end{subarray} AMSmath
+ \begin{Vmatrix} ... \end{Vmatrix}
+ \begin{vmatrix} ... \end{vmatrix}
+ \beta
+ \beth AMSsymbols
+ \between AMSsymbols
+ \bf
+ \Big
+ \big
+ \bigcap
+ \bigcirc
+ \bigcup
+ \Bigg
+ \bigg
+ \Biggl
+ \biggl
+ \Biggm
+ \biggm
+ \Biggr
+ \biggr
+ \Bigl
+ \bigl
+ \Bigm
+ \bigm
+ \bigodot
+ \bigoplus
+ \bigotimes
+ \Bigr
+ \bigr
+ \bigsqcup
+ \bigstar AMSsymbols
+ \bigtriangledown
+ \bigtriangleup
+ \biguplus
+ \bigvee
+ \bigwedge
+ \binom AMSmath
+ \blacklozenge AMSsymbols
+ \blacksquare AMSsymbols
+ \blacktriangle AMSsymbols
+ \blacktriangledown AMSsymbols
+ \blacktriangleleft AMSsymbols
+ \blacktriangleright AMSsymbols
+ \bmod
+ \boldsymbol
+ \bot
+ \bowtie
+ \Box AMSsymbols
+ \boxdot AMSsymbols
+ \boxed AMSmath
+ \boxminus AMSsymbols
+ \boxplus AMSsymbols
+ \boxtimes AMSsymbols
+ \brace
+ \bracevert
+ \brack
+ \breve
+ \buildrel
+ \bullet
+ \Bumpeq AMSsymbols
+ \bumpeq AMSsymbols
+
+ C
+ \cal
+ \Cap AMSsymbols
+ \cap
+ \cases
+ \cdot
+ \cdotp
+ \cdots
+ \centerdot AMSsymbols
+ \cfrac AMSmath
+ \check
+ \checkmark AMSsymbols
+ \chi
+ \choose
+ \circ
+ \circeq AMSsymbols
+ \circlearrowleft AMSsymbols
+ \circlearrowright AMSsymbols
+ \circledast AMSsymbols
+ \circledcirc AMSsymbols
+ \circleddash AMSsymbols
+ \circledR AMSsymbols
+ \circledS AMSsymbols
+ \clubsuit
+ \colon
+ \color
+ \complement AMSsymbols
+ \cong
+ \coprod
+ \cos
+ \cosh
+ \cot
+ \coth
+ \cr
+ \csc
+ \Cup AMSsymbols
+ \cup
+ \curlyeqprec AMSsymbols
+ \curlyeqsucc AMSsymbols
+ \curlyvee AMSsymbols
+ \curlywedge AMSsymbols
+ \curvearrowleft AMSsymbols
+ \curvearrowright AMSsymbols
+
+ D
+ \dagger
+ \daleth AMSsymbols
+ \dashleftarrow AMSsymbols
+ \dashrightarrow AMSsymbols
+ \dashv
+ \dbinom AMSmath
+ \ddagger
+ \ddddot AMSmath
+ \dddot AMSmath
+ \ddot
+ \ddots
+ \DeclareMathOperator AMSmath
+ \def
+ \deg
+ \Delta
+ \delta
+ \det
+ \dfrac AMSmath
+ \diagdown AMSsymbols
+ \diagup AMSsymbols
+ \Diamond AMSsymbols
+ \diamond
+ \diamondsuit
+ \digamma AMSsymbols
+ \dim
+ \displaylines
+ \displaystyle
+ \div
+ \divideontimes AMSsymbols
+ \dot
+ \Doteq AMSsymbols
+ \doteq
+ \doteqdot AMSsymbols
+ \dotplus AMSsymbols
+ \dots
+ \dotsb
+ \dotsc
+ \dotsi
+ \dotsm
+ \dotso
+ \doublebarwedge AMSsymbols
+ \doublecap AMSsymbols
+ \doublecup AMSsymbols
+ \Downarrow
+ \downarrow
+ \downdownarrows AMSsymbols
+ \downharpoonleft AMSsymbols
+ \downharpoonright AMSsymbols
+
+ E
+ \ell
+ \emptyset
+ \enspace
+ \epsilon
+ \eqalign
+ \eqalignno
+ \eqcirc AMSsymbols
+ \eqsim AMSsymbols
+ \eqslantgtr AMSsymbols
+ \eqslantless AMSsymbols
+ \equiv
+ \eta
+ \eth AMSsymbols
+ \exists
+ \exp
+
+ F
+ \fallingdotseq AMSsymbols
+ \fbox
+ \Finv AMSsymbols
+ \flat
+ \forall
+ \frac
+ \frac AMSmath
+ \frak
+ \frown
+
+ G
+ \Game AMSsymbols
+ \Gamma
+ \gamma
+ \gcd
+ \ge
+ \genfrac AMSmath
+ \geq
+ \geqq AMSsymbols
+ \geqslant AMSsymbols
+ \gets
+ \gg
+ \ggg AMSsymbols
+ \gggtr AMSsymbols
+ \gimel AMSsymbols
+ \gnapprox AMSsymbols
+ \gneq AMSsymbols
+ \gneqq AMSsymbols
+ \gnsim AMSsymbols
+ \grave
+ \gt
+ \gt
+ \gtrapprox AMSsymbols
+ \gtrdot AMSsymbols
+ \gtreqless AMSsymbols
+ \gtreqqless AMSsymbols
+ \gtrless AMSsymbols
+ \gtrsim AMSsymbols
+ \gvertneqq AMSsymbols
+
+ H
+ \hat
+ \hbar
+ \hbox
+ \heartsuit
+ \hom
+ \hookleftarrow
+ \hookrightarrow
+ \hphantom
+ \hskip
+ \hslash AMSsymbols
+ \hspace
+ \Huge
+ \huge
+
+ I
+ \idotsint AMSmath
+ \iff
+ \iiiint AMSmath
+ \iiint
+ \iint
+ \Im
+ \imath
+ \impliedby AMSsymbols
+ \implies AMSsymbols
+ \in
+ \inf
+ \infty
+ \injlim AMSmath
+ \int
+ \intercal AMSsymbols
+ \intop
+ \iota
+ \it
+
+ J
+ \jmath
+ \Join AMSsymbols
+
+ K
+ \kappa
+ \ker
+ \kern
+
+ L
+ \label
+ \Lambda
+ \lambda
+ \land
+ \langle
+ \LARGE
+ \Large
+ \large
+ \LaTeX
+ \lbrace
+ \lbrack
+ \lceil
+ \ldotp
+ \ldots
+ \le
+ \leadsto AMSsymbols
+ \left
+ \Leftarrow
+ \leftarrow
+ \leftarrowtail AMSsymbols
+ \leftharpoondown
+ \leftharpoonup
+ \leftleftarrows AMSsymbols
+ \Leftrightarrow
+ \leftrightarrow
+ \leftrightarrows AMSsymbols
+ \leftrightharpoons AMSsymbols
+ \leftrightsquigarrow AMSsymbols
+ \leftroot
+ \leftthreetimes AMSsymbols
+ \leq
+ \leqalignno
+ \leqq AMSsymbols
+ \leqslant AMSsymbols
+ \lessapprox AMSsymbols
+ \lessdot AMSsymbols
+ \lesseqgtr AMSsymbols
+ \lesseqqgtr AMSsymbols
+ \lessgtr AMSsymbols
+ \lesssim AMSsymbols
+ \lfloor
+ \lg
+ \lgroup
+ \lhd AMSsymbols
+ \lim
+ \liminf
+ \limits
+ \limsup
+ \ll
+ \llap
+ \llcorner AMSsymbols
+ \Lleftarrow AMSsymbols
+ \lll AMSsymbols
+ \llless AMSsymbols
+ \lmoustache
+ \ln
+ \lnapprox AMSsymbols
+ \lneq AMSsymbols
+ \lneqq AMSsymbols
+ \lnot
+ \lnsim AMSsymbols
+ \log
+ \Longleftarrow
+ \longleftarrow
+ \Longleftrightarrow
+ \longleftrightarrow
+ \longmapsto
+ \Longrightarrow
+ \longrightarrow
+ \looparrowleft AMSsymbols
+ \looparrowright AMSsymbols
+ \lor
+ \lower
+ \lozenge AMSsymbols
+ \lrcorner AMSsymbols
+ \Lsh AMSsymbols
+ \lt
+ \ltimes AMSsymbols
+ \lVert AMSmath
+ \lvert AMSmath
+ \lvertneqq AMSsymbols
+
+ M
+ \maltese AMSsymbols
+ \mapsto
+ \mathbb
+ \mathbf
+ \mathbin
+ \mathcal
+ \mathchoice
+ \mathclose
+ \mathfrak
+ \mathinner
+ \mathit
+ \mathop
+ \mathopen
+ \mathord
+ \mathpunct
+ \mathrel
+ \mathring AMSmath
+ \mathrm
+ \mathscr
+ \mathsf
+ \mathstrut
+ \mathtt
+ \matrix
+ \max
+ \mbox
+ \measuredangle AMSsymbols
+ \mho AMSsymbols
+ \mid
+ \min
+ \mit
+ \mkern
+ \mod
+ \models
+ \moveleft
+ \moveright
+ \mp
+ \mskip
+ \mspace
+ \mu
+ \multimap AMSsymbols
+
+ N
+ \nabla
+ \natural
+ \ncong AMSsymbols
+ \ne
+ \nearrow
+ \neg
+ \negmedspace AMSmath
+ \negthickspace AMSmath
+ \negthinspace
+ \neq
+ \newcommand
+ \newenvironment
+ \newline
+ \nexists AMSsymbols
+ \ngeq AMSsymbols
+ \ngeqq AMSsymbols
+ \ngeqslant AMSsymbols
+ \ngtr AMSsymbols
+ \ni
+ \nLeftarrow AMSsymbols
+ \nleftarrow AMSsymbols
+ \nLeftrightarrow AMSsymbols
+ \nleftrightarrow AMSsymbols
+ \nleq AMSsymbols
+ \nleqq AMSsymbols
+ \nleqslant AMSsymbols
+ \nless AMSsymbols
+ \nmid AMSsymbols
+ \nobreakspace AMSmath
+ \nolimits
+ \nonumber
+ \normalsize
+ \not
+ \notag
+ \notin
+ \nparallel AMSsymbols
+ \nprec AMSsymbols
+ \npreceq AMSsymbols
+ \nRightarrow AMSsymbols
+ \nrightarrow AMSsymbols
+ \nshortmid AMSsymbols
+ \nshortparallel AMSsymbols
+ \nsim AMSsymbols
+ \nsucc AMSsymbols
+ \nsucceq AMSsymbols
+ \ntriangleleft AMSsymbols
+ \ntrianglelefteq AMSsymbols
+ \ntriangleright AMSsymbols
+ \ntrianglerighteq AMSsymbols
+ \nu
+ \nVDash AMSsymbols
+ \nVdash AMSsymbols
+ \nvDash AMSsymbols
+ \nvdash AMSsymbols
+ \nwarrow
+
+ O
+ \odot
+ \oint
+ \oldstyle
+ \Omega
+ \omega
+ \omicron
+ \ominus
+ \operatorname AMSmath
+ \oplus
+ \oslash
+ \otimes
+ \over
+ \overbrace
+ \overleftarrow
+ \overleftrightarrow
+ \overline
+ \overrightarrow
+ \overset
+ \overwithdelims
+ \owns
+
+ P
+ \parallel
+ \partial
+ \perp
+ \phantom
+ \Phi
+ \phi
+ \Pi
+ \pi
+ \pitchfork AMSsymbols
+ \pm
+ \pmatrix
+ \pmb
+ \pmod
+ \pod
+ \Pr
+ \prec
+ \precapprox AMSsymbols
+ \preccurlyeq AMSsymbols
+ \preceq
+ \precnapprox AMSsymbols
+ \precneqq AMSsymbols
+ \precnsim AMSsymbols
+ \precsim AMSsymbols
+ \prime
+ \prod
+ \projlim AMSmath
+ \propto
+ \Psi
+ \psi
+
+ Q
+ \qquad
+ \quad
+
+ R
+ \raise
+ \rangle
+ \rbrace
+ \rbrack
+ \rceil
+ \Re
+ \require
+ \restriction AMSsymbols
+ \rfloor
+ \rgroup
+ \rhd AMSsymbols
+ \rho
+ \right
+ \Rightarrow
+ \rightarrow
+ \rightarrowtail AMSsymbols
+ \rightharpoondown
+ \rightharpoonup
+ \rightleftarrows AMSsymbols
+ \rightleftharpoons
+ \rightleftharpoons AMSsymbols
+ \rightrightarrows AMSsymbols
+ \rightsquigarrow AMSsymbols
+ \rightthreetimes AMSsymbols
+ \risingdotseq AMSsymbols
+ \rlap
+ \rm
+ \rmoustache
+ \root
+ \Rrightarrow AMSsymbols
+ \Rsh AMSsymbols
+ \rtimes AMSsymbols
+ \Rule
+ \rVert AMSmath
+ \rvert AMSmath
+
+ S
+ \S
+ \scr
+ \scriptscriptstyle
+ \scriptsize
+ \scriptstyle
+ \searrow
+ \sec
+ \setminus
+ \sf
+ \sharp
+ \shortmid AMSsymbols
+ \shortparallel AMSsymbols
+ \shoveleft AMSmath
+ \shoveright AMSmath
+ \sideset AMSmath
+ \Sigma
+ \sigma
+ \sim
+ \simeq
+ \sin
+ \sinh
+ \skew
+ \small
+ \smallfrown AMSsymbols
+ \smallint
+ \smallsetminus AMSsymbols
+ \smallsmile AMSsymbols
+ \smash
+ \smile
+ \Space
+ \space
+ \spadesuit
+ \sphericalangle AMSsymbols
+ \sqcap
+ \sqcup
+ \sqrt
+ \sqsubset AMSsymbols
+ \sqsubseteq
+ \sqsupset AMSsymbols
+ \sqsupseteq
+ \square AMSsymbols
+ \stackrel
+ \star
+ \strut
+ \Subset AMSsymbols
+ \subset
+ \subseteq
+ \subseteqq AMSsymbols
+ \subsetneq AMSsymbols
+ \substack AMSmath
+ \succ
+ \succapprox AMSsymbols
+ \succcurlyeq AMSsymbols
+ \succeq
+ \succnapprox AMSsymbols
+ \succneqq AMSsymbols
+ \succnsim AMSsymbols
+ \succsim AMSsymbols
+ \sum
+ \sup
+ \Supset AMSsymbols
+ \supset
+ \supseteq
+ \supseteqq AMSsymbols
+ \supsetneq AMSsymbols
+ \surd
+ \swarrow
+
+ T
+ \tag
+ \tan
+ \tanh
+ \tau
+ \tbinom AMSmath
+ \TeX
+ \text
+ \textbf
+ \textit
+ \textrm
+ \textstyle
+ \tfrac AMSmath
+ \therefore AMSsymbols
+ \Theta
+ \theta
+ \thickapprox AMSsymbols
+ \thicksim AMSsymbols
+ \thinspace
+ \tilde
+ \times
+ \Tiny
+ \tiny
+ \to
+ \top
+ \triangle
+ \triangledown AMSsymbols
+ \triangleleft
+ \trianglelefteq AMSsymbols
+ \triangleq AMSsymbols
+ \triangleright
+ \trianglerighteq AMSsymbols
+ \tt
+ \twoheadleftarrow AMSsymbols
+ \twoheadrightarrow AMSsymbols
+
+ U
+ \ulcorner AMSsymbols
+ \underbrace
+ \underleftarrow
+ \underleftrightarrow
+ \underline
+ \underrightarrow
+ \underset
+ \unicode
+ \unlhd AMSsymbols
+ \unrhd AMSsymbols
+ \Uparrow
+ \uparrow
+ \Updownarrow
+ \updownarrow
+ \upharpoonleft AMSsymbols
+ \upharpoonright AMSsymbols
+ \uplus
+ \uproot
+ \Upsilon
+ \upsilon
+ \upuparrows AMSsymbols
+ \urcorner AMSsymbols
+
+ V
+ \varDelta AMSsymbols
+ \varepsilon
+ \varGamma AMSsymbols
+ \varinjlim AMSmath
+ \varkappa AMSsymbols
+ \varLambda AMSsymbols
+ \varliminf AMSmath
+ \varlimsup AMSmath
+ \varnothing AMSsymbols
+ \varOmega AMSsymbols
+ \varPhi AMSsymbols
+ \varphi
+ \varPi AMSsymbols
+ \varpi
+ \varprojlim AMSmath
+ \varpropto AMSsymbols
+ \varPsi AMSsymbols
+ \varrho
+ \varSigma AMSsymbols
+ \varsigma
+ \varTheta AMSsymbols
+ \vartheta
+ \vartriangle AMSsymbols
+ \vartriangleleft AMSsymbols
+ \vartriangleright AMSsymbols
+ \varUpsilon AMSsymbols
+ \varXi AMSsymbols
+ \vcenter
+ \Vdash AMSsymbols
+ \vDash AMSsymbols
+ \vdash
+ \vdots
+ \vec
+ \vee
+ \veebar AMSsymbols
+ \verb
+ \Vert
+ \vert
+ \vphantom
+ \Vvdash AMSsymbols
+
+ W
+ \wedge
+ \widehat
+ \widetilde
+ \wp
+ \wr
+
+ X
+ \Xi
+ \xi
+ \xleftarrow AMSmath
+ \xrightarrow AMSmath
+
+ Y
+ \yen AMSsymbols
+
+ Z
+ \zeta
+
diff --git a/docs/source/typeset.rst b/docs/source/typeset.rst
@@ -0,0 +1,233 @@
+.. _typeset-math:
+
+**************************
+Modifying Math on the Page
+**************************
+
+If you are writing a dynamic web page where content containing
+mathematics may appear after MathJax has already typeset the rest of
+the page, then you will need to tell MathJax to look for mathematics
+in the page again when that new content is produced. To do that, you
+need to use the :meth:`MathJax.Hub.Typeset()` method. This will cause
+the preprocessors (if any were loaded) to run over the page again, and
+then MathJax will look for unprocessed mathematics on the page and
+typeset it, leaving unchanged any math that has already been typeset.
+
+You should not simply call this method directly, however. Because
+MathJax operates asynchonously (see :ref:`Synchronizing with MathJax
+<synchronization>` for details), you need to be sure that
+your call to :meth:`MathJax.Hub.Typeset()` is synchronized with the
+other actions that MathJax is taking. For example, it may already be
+typesetting portions of the page, or it may be waiting for an output
+jax to load, etc., and so you need to queue to typeset action to be
+performed after MathJax has finished whatever else it may be doing.
+That may be immediately, but it may not, and there is no way to tell.
+
+To queue the typeset action, use the command
+
+.. code-block:: javascript
+
+ MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
+
+This will cause MathJax to typeset the page when it is next able to do
+so. It guarantees that the typesetting will synchronize properly
+with the loading of jax, extensions, fonts, stylesheets, and other
+asynchornous activity, and is the only truely safe way to ask MathJax
+to process additional material.
+
+The :meth:`MathJax.Hub.Typeset()` command also accepts a parameter
+that is a DOM element whose contents is to be typeset. That could be
+a paragraph, or a ``<div>`` element, or even a MathJax math
+``<script>`` tag. It could also be a the DOM `id` of such an object, in
+which case, MathJax will look up the DOM element for you. So
+
+.. code-block:: javascript
+
+ MathJax.Hub.Queue(["Typeset",MathJax.Hub,"MathExample"]);
+
+would typeset the mathematics contained in the element whose `id` is
+``MathExample``. This is equivalent to
+
+.. code-block:: javascript
+
+ var math = document.getElementById("MathExample");
+ MathJax.Hub.Queue(["Typeset",MathJax.Hub,math]);
+
+If no element or element `id` is provided, the whole document is
+typeset.
+
+Note that the :meth:`MathJax.Hub.Queue()` method will return
+immediately, regardless of whether the typesetting has taken place or
+not, so you can not assume that the mathematics is visible after you
+make this call. That means that things like the size of the container
+for the mathematics may not yet reflect the size of the typeet
+mathematics. If you need to perform actions that depend on the
+mathematics being typeset, you should push *those* actions onto the
+``MathJax.Hub.queue`` as well.
+
+This can be quite subtle, so you have to think carefully about the
+structure of your code that works with the typeset mathematics. Also,
+the things you push onto the queue should be `Callback` objects that
+perform the actions you want when they are called, not the *results*
+of calling the functions that do what you want.
+
+
+Manipulating Individual Math Elements
+=====================================
+
+If you are not changing a complete DOM structure, but simply want to
+update the contents of a single mathematical equation, you do not need
+to use ``innerHTML`` and :meth:`MathJax.Hub.Typeset()` to preprocess
+and process an elements new content. Instead, you can ask MathJax to
+find the `element jax` for the math element on the page, and use its
+methods to modify and update the mathematics that it displays.
+
+For example, suppose you have the following HTML in your document
+
+.. code-block:: html
+
+ <div id="MathDiv">
+ The answer you provided is: ${}$.
+ </div>
+
+and MathJax has already preprocessed and typeset the mathematics
+within dollar signs (it will be blank). A student has typed
+something elsewhere on the page, and you want to typeset their answer
+in the location of the mathematics that is already there. You could
+replace the entire contents of the `MathDiv` element and call
+:meth:`MathJax.Hub.Typeset()` as described above, but there is more
+efficient approach, which is to ask MathJax for the element jax for
+the mathematics, and call its method for replacing the formula shown
+by that element. For example:
+
+.. code-block:: javascript
+
+ var math = MathJax.Hub.getAllJax("MathDiv")[0];
+ MathJax.Hub.Queue(["Text",math,"x+1"]);
+
+This looks up the list of math elements in `MathDiv` element (there is
+only one) and takes the first one (element 0) and stores it in
+``math``. This is an `element jax` object (see the :ref:`Element Jax
+<api-element-jax>` specification for details), which has a
+:meth:`Text()` method that can be used to set the input text of the
+math element, and retypeset it.
+
+Again, since the typesetting should be synchronized with other actions
+of MathJax, the call should be pushed onto the ``MathJax.Hub.queue``,
+as shown above, rather than called directly. The example above
+performs the equivalent of ``math.Text("x+1")`` as soon as MathJax is
+able to do so. Any additional actions the rely on the equation
+``x+1`` actually showing on screen should also be pushed onto the
+queue so that they will not occur before the math is typeset.
+
+The actions you can perform on an element jax include:
+
+ .. describe:: Text(newmath)
+
+ to set the math text of the element to `newmath` and typeset.
+
+ .. describe:: Reprocess()
+
+ to remove the output and reproduce it again (for
+ example, if CSS has changed that would alter the spacing of the
+ mathematics).
+
+ .. describe:: Remove()
+
+ to remove the output for this math element (but not
+ the original ``<script>`` tag).
+
+ .. describe:: SourceElement()
+
+ to obtain a reference to the original
+ ``<script>`` object that is assocaited with this element jax.
+
+
+Note that once you have located an element jax, you can keep using it
+and don't have to look it up again. So for the example above, if the
+student is going to be able to type several different answers that you
+will want to typeset, you can look up the element jax once at the
+beginning after MathJax has processed the page the first time, and
+then use that result each time you adjust the mathematics to be
+displayed.
+
+To get the element jax the first time, you need to be sure that you
+ask MathJax for it **after** MathJax has processed the page the first
+time. This is another sitaution where you want to use the MathJax
+queue. If your startup code performs the commands
+
+.. code-block:: javascript
+
+ var studentDisplay = null;
+ MathJax.Hub.Queue(function () {
+ studentDisplay = MathJax.Hub.getAllJax("MathDiv");
+ });
+
+then you can use
+
+.. code-block:: javascript
+
+ MathJax.Hub.Queue(["Text",studentDisplay,studentAnswer])
+
+to change the student's answer to be the typeset version of whatever
+is in the ``studentAnswer`` variable.
+
+Here is a complete example that illustrates this approach (available in a
+more full-featured version as ``test/sample-dynamic.html``):
+
+.. code-block:: html
+
+ <html>
+ <head>
+ <title>MathJax Dynamic Math Test Page</title>
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [["$","$"],["\\(","\\)"]]
+ }
+ });
+ </script>
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full">
+ </script>
+
+ </head>
+ <body>
+
+ <script>
+ //
+ // Use a closure to hide the local variables from the
+ // global namespace
+ //
+ (function () {
+ var QUEUE = MathJax.Hub.queue; // shorthand for the queue
+ var math = null; // the element jax for the math output.
+
+ //
+ // Get the element jax when MathJax has produced it.
+ //
+ QUEUE.Push(function () {
+ math = MathJax.Hub.getAllJax("MathOutput")[0];
+ });
+
+ //
+ // The onchange event handler that typesets the
+ // math entered by the user
+ //
+ window.UpdateMath = function (TeX) {
+ QUEUE.Push(["Text",math,"\\displaystyle{"+TeX+"}"]);
+ }
+ })();
+ </script>
+
+ Type some TeX code:
+ <input id="MathInput" size="50" onchange="UpdateMath(this.value)" />
+ <p>
+
+ <div id="MathOutput">
+ You typed: ${}$
+ </div>
+
+ </body>
+ </html>
diff --git a/docs/source/upgrade.rst b/docs/source/upgrade.rst
@@ -0,0 +1,234 @@
+.. _upgrade:
+
+***********************************
+Migrating from MathJax v1.0 to v1.1
+***********************************
+
+MathJax v1.1 fixes a number of bugs in v1.0, and improves support for
+new versions of browsers and mobile devices. It includes changes to
+increase its performance, and to make it more compliant with HTML5. It
+has more flexible configuration options, and the ability to load
+configuration files that combine multiple files into a single one to
+increase loading speed when MathJax starts up. Finally, MathJax.org now
+offers MathJax as a web service through a distributed "cloud" server.
+
+This document describes the changes you may need to make to your MathJax
+configurations in order to take advantage of these improvements.
+
+
+Configuration Changes
+=====================
+
+The main changes that you will see as a page author are in the way that
+MathJax can be loaded and configured. If you have been using in-line
+configuration by putting a :meth:`MathJax.Hub.Config()` call in the body of
+the ``<script>`` tag that loads MathJax, then your site should work
+unchanged with version 1.1 of MathJax. You may wish to consider moving to
+the new HTML5-compliant method of configuring MathJax, however, which uses
+a separate ``<script>`` tag to specify the configuration. That tag should
+come **before** the one that loads ``Mathjax.js``, and should have
+``type="text/x-mathjax-config"`` rather than ``type="text/javascript"``.
+For example,
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js"]
+ });
+ </script>
+
+would become
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js"]
+ });
+ </script>
+ <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+
+instead. This will make sure your pages pass HTML5 validation. Be sure
+that you put the configuration block **before** the script that loads
+MathJax. See :ref:`Loading and Configuring MathJax <loading>` for more
+details.
+
+If your page simply loads ``MathJax.js`` and relies on
+``config/MathJax.js``, then you will need to modify your ``<script>`` tag
+in order to use MathJax v1.1. This is because MathJax no longer loads a
+default configuration file; you are required to explicity specify the
+configuration file if you use one. Furthermore, the name of the
+``config/MathJax.js`` file was a source of confusion, so it has been
+renamed ``config/default.js`` instead. Thus, if you used
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+
+in the past, you should replace it with
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=default"></script>
+
+instead. If you don't do this, you will receive a warning message that
+directs you to a page that explains how to update your script tags to use
+the new configuration format.
+
+
+Combined Configurations
+=======================
+
+New with version 1.1 is the ability to combine several files into a single
+configuration file, and to load that via the same script that loads
+MathJax. This should make configuring MathJax easier, and also helps to
+speed up the initial loading of MathJax's components, since only one file
+needs to be downloaded.
+
+MathJax comes with four pre-built configurations, and our hope is that one
+of these will suit your needs. They are described in more detail in the
+:ref:`Using a Configuration File <config-files>` section. To load one,
+add ``?config=filename`` (where ``filename`` is the name of the
+configuration file without the ``.js``) to the URL that loads
+``MathJax.js``. For example
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js","AMSmath.js","AMSsymbols.js"]
+ });
+ </script>
+
+could be replaced by the single line
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
+
+In this way, you don't have to include the in-line configuration, and all
+the needed files will be downloaded when MathJax starts up. For complete
+details about the contents of the combined configuration files, see the
+:ref:`Common Configurations <common-configurations>` section.
+
+If you want to use a pre-defined configuration file, but want to modify some
+of the configuration parameters, you can use both a
+``text/x-mathjax-config`` block and a ``config=filename`` parameter in
+combination. For example,
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ TeX: {
+ inlineMath: [ ['$','$'], ['\\(','\\)'] ],
+ processEscapes: true
+ }
+ });
+ </script>
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
+
+would load the ``TeX-AMS_HTML`` configuration file, but would reconfigure
+the inline math delimiters to include ``$...$`` in addition to
+``\(...\)``, and would set the ``processEscapes`` parameter to ``true``.
+
+
+Loading MathJax from the CDN
+============================
+
+The MathJax installation is fairly substantial (due to the large number of
+images needed for the image fonts), and so you may not want to (or be able
+to) store MathJax on your own server. Keeping MathJax up to date can also
+be a maintenance problem, and you might prefer to let others handle that
+for you. In either case, using the MathJax distributed network service may be
+the best way for you to obtain MathJax. That way you can be sure you are
+using an up-to-date version of MathJax, and that the server will be fast
+and reliable.
+
+To use the MathJax CDN service, simply load MathJax as follows:
+
+.. code-block:: html
+
+ <script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+ </scrip>
+
+Of course, you can load any configuration file that you wish, or use a
+``text/x=mathajx-config`` block to configure MathJax in-line.
+:ref:`More details <loading-CDN>` are available, if you need them.
+
+The use of ``cdn.mathjax.org`` is governed by its `terms of service
+<http://www.mathjax.org/download/mathjax-cdn-terms-of-service/>`_, so be
+sure to read that before linked to the MathJax CDN server.
+
+
+Change in default TeX delimiters
+================================
+
+In addition to the fact that MathJax v1.1 no longer loads a default
+configuration file, there is a second configuration change that could
+affect your pages. The ``config/MathJax.js`` file properly configured the
+`tex2jax` preprocessor to use only ``\(...\)`` and not ``$...$`` for in-line
+math delimiters, but the `tex2jax` preprocessor itself incorrectly
+defaulted to including ``$...$`` as in-line math delimiters. The result
+was that if you used in-line configuration to specify the ``tex2jax``
+preprocessor, single-dollar delimiters were enabled by default, while if
+you used file-based configuration, they weren't.
+
+This inconsistency was an error, and the correct behavior was supposed to
+have the single-dollar delimiters disabled in both cases. This is now
+true in v1.1 of MathJax. This means that if you used in-line
+configuration to specify the `tex2jax` preprocessor, you will need to
+change your configuration to explicitly enable the single-dollar
+delimiters if you want to use them.
+
+For example, if you had
+
+.. code-block:: html
+
+ <script type="text/javascript" src="/MathJax/MathJax.js">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js"]
+ });
+ </script>
+
+and you want to use single-dollar delimiters for in-line math, then you
+should replace this with
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ jax: ["input/TeX","output/HTML-CSS"],
+ extensions: ["tex2jax.js"],
+ tex2jax: {
+ inlineMath: [ ['$','$'], ['\\(','\\)'] ],
+ processEscapes: true
+ }
+ });
+ </script>
+ <script type="text/javascript" src="/MathJax/MathJax.js"></script>
+
+The same technique can be used in conjunction with a combined
+configuration file. For example
+
+.. code-block:: html
+
+ <script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ['\\(','\\)'] ],
+ processEscapes: true
+ }
+ });
+ </script>
+ <script type="text/javascript" src="/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
+
+will load the pre-defined ``TeX-AMS_HTML`` configuration, but will modify
+the settings to allow ``$...$`` delimiters, and to process ``\$`` to
+produce dollar signs within the text of the page.
diff --git a/docs/source/whats-new.rst b/docs/source/whats-new.rst
@@ -0,0 +1,172 @@
+.. _whats-new:
+
+**************************
+What's New in MathJax v1.1
+**************************
+
+MathJax version 1.1 includes a number of important improvements and
+enhancements over version 1.0. We have worked hard to fix bugs, improve
+support for browsers and mobile devices, supprot TeX and MathML better, and
+increase MathJax's performance.
+
+In addition to these changes, MathJax.org now offers MathJax as a network
+service. Instead of having to install MathJax on your own server, you can
+link to our content delivery network (CDN) to get fast access to
+up-to-date and past versions of MathJax. See :ref:`Loading MathJax from
+the CDN <loading-CDN>` for more details.
+
+The following sections outline the changes in v1.1:
+
+Optimization
+============
+
+* Combined configuraiton files that load all the needed files in one piece
+ rather than loading them individually. This simplifies configuration
+ and speeds up typsetting of the mathematics on the page.
+
+* Improved responsiveness to mouse events during typesetting.
+
+* Parallel downloading of files needed by MathJax, for faster startup
+ times.
+
+* Shorter timeout for web fonts, so if they can't be downlaoded, you don't
+ have to wait so long.
+
+* Rollover to image fonts if a web font fails to load (so you don't have
+ to wait for *every* font to fail.
+
+* The MathJax files are now packed only with `yuicompressor` rather than a
+ custom compressor. The CDN serves gzipped versions, which compressed
+ better than the gzipped custom-packed files.
+
+* Improved rendering speed in IE by removing ``position:relative`` from
+ the style for mathematics.
+
+* Improve rendering speed for most browsers by isolating the mathematics
+ from page during typesetting (avoids full page reflows).
+
+
+Enhancements
+============
+
+* Allow the input and output jax configuration blocks to specify extensions
+ to be loaded when the jax is loaded (this avoids needing to load them up
+ front, so they don't have to be loaded on pages that don't include
+ mathematics, for example).
+
+* Better handling of background color from style attributes.
+
+* Ability to pass configuration parameters via script URL.
+
+* Support HTML5 compliant configuration syntax.
+
+* Switch the Git repository from storing the fonts in `fonts.zip` to
+ storing the `fonts/` directory directly.
+
+* Improved About box.
+
+* add a minimum scaling factor (so math won't get too small)
+
+
+TeX Support
+============
+
+* Added support for ``\href``, ``\style``, ``\class``, ``\cssId``.
+* Avoid recursive macro definitions and other resource consumption possibilities.
+* Fix for ``\underline`` bug.
+* Fix for bug with ``\fbox``.
+* Fix height problem with ``\raise`` and ``\lower``.
+* Fix problem with ``\over`` used inside array entries.
+* Fix problem with nesting of math delimiters inside text-mode material.
+* Fix single digit super- and subscripts followed by punctuation.
+* Make sure `movablelimits` is off for ``\underline`` and related macros.
+* Fix problem with dimensions given with ``pc`` units.
+
+
+MathML Support
+==============
+
+* Fix ``<`` and ``&`` being translated too early.
+* Handle self-closing tags in HTML files better.
+* Combine adjacent relational operators in ``<mo>`` tags.
+* Fix entity name problems.
+* Better support for MathML namespaces.
+* Properly handle comments within MathML in IE.
+* Properly consider ``<mspace>`` and ``<mtext>`` as space-like.
+* Improved support for ``<maction>`` with embelished operators.
+
+
+Other Bug Fixes
+===============
+
+* Fixed CSS bleed through with zoom and other situations.
+* Fixed problems with ``showMathMenuMSIE`` when set to ``false``.
+* Replaced illegal prefix characters in cookie name.
+* Improve placement of surd for square roots and n-th roots.
+* Fixed layer obscuring math from MathPlayer for screen readers.
+* Newlines in CDATA comments are now handled properly.
+* Resolved conflict between `jsMath2jax` and `tex2jax` both processing the
+ same equation.
+* Fixed problem with ``class="tex2jax_ignore"`` affecting the processing of
+ sibling elements.
+
+
+Browser Support
+===============
+
+**Android**
+
+* Added detection and configuration for Android browser.
+* Allow use of OTF web fonts in Android 2.2.
+
+
+**Blackberry**
+
+* MathJax now works with OS version 6.
+
+
+**Chrome**
+
+* Use OTF web fonts rather than SVG fonts for version 4 and above.
+
+
+**Firefox**
+
+* Added Firefox 4 detection and configuration.
+* Fix for extra line-break bug when displayed equations are in
+ preformatted text.
+* Update fonts so that FF 3.6.13 and above can read them.
+
+
+**Internet Explorer**
+
+* Changes for compatibility with IE9.
+* Fix for IE8 incorrectly parsing MathML.
+* Fix for IE8 namespace problem.
+* Fix for null ``parentNode`` problem.
+* Fix for ``outerHTML`` not quoting values of attributes.
+
+**iPhone/iPad**
+
+* Add support for OTF web fonts in iOS4.2.
+
+**Nokia**
+
+* MathJax now works with Symbian\ :sup:`3`\ .
+
+**Opera**
+
+* Prevent Opera from using STIX fonts unless explicitly requested via the
+ font menu (since Opera can't display many of the characters).
+* Fix for bad em-size detection in 10.61.
+* Fixed a problem with the About dialog in Opera 11.
+
+
+**Safari**
+
+* Use OTF web fonts for Safari/PC.
+
+
+**WebKit**
+
+* Better version detection.
diff --git a/test/index-images.html b/test/index-images.html
@@ -1,12 +1,12 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<HTML xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en-US">
-<HEAD>
-<TITLE>MathJax Test Page</TITLE>
-<!-- Copyright (c) 2009 Design Science, Inc. -->
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
-<META HTTP-EQUIV="X-UA-Compatible" CONTENT="IE=EmulateIE7" >
-
-<SCRIPT SRC="../MathJax.js">
+<!DOCTYPE html>
+<html>
+<head>
+<title>MathJax Test Page</title>
+<!-- Copyright (c) 2009-2011 Design Science, Inc. -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
+
+<script type="text/x-mathjax-config">
//
// Do NOT use this page as a template for your own pages. It includes
// code that is needed for testing your site's installation of MathJax,
@@ -36,68 +36,103 @@
};
if (!HUB.Browser.versionAtLeast(MINVERSION[HUB.Browser]||0.0)) {
- HUB.config.jax = []; // don't load any Jax
- HUB.config.extensions = []; // don't load any extensions
- alert("The browser you are using does not support MathJax, so we can't test if if is working. Please try a different browser.");
+ HUB.Config({
+ jax: [], // don't load any Jax
+ extensions: [], // don't load any extensions
+ "v1.0-compatible": false // skip warning message due to no jax
+ });
+ setTimeout('document.getElementById("badBrowser").style.display = ""',0);
}
if (HUB.Browser.isMSIE && !HUB.Browser.versionAtLeast("7.0")) {
- alert("Internet Explorer 6 does not display images with alpha-channel transparency very\n" +
- "well, so this test will not look good. But in practice, IE6 will use web-based\n" +
- "fonts rather than image fonts (unless the page forces images, as this one does)\n" +
- "so the poor quality rendering on this test page does not indicate a problem\n" +
- "with MathJax.");
+ setTimeout('document.getElementById("MSIE6").style.display = ""');
}
})(MathJax.Hub);
-</SCRIPT>
-</HEAD>
-<BODY>
+</script>
+<script type="text/javascript" src="../MathJax.js"></script>
+
+<style>
+.warning {
+ color: #800020;
+ background-color: #FFF8F8;
+ border: 2px solid red;
+ margin: 1em 5em;
+ padding: 1em;
+}
+</style>
+</head>
+<body>
-<NOSCRIPT>
-<DIV STYLE="color:#CC0000; text-align:center">
-<B>Warning: <A HREF="http://www.mathjax.org/">MathJax</A>
-requires JavaScript to process the mathematics on this page.<BR>
-If your browser supports JavaScript, be sure it is enabled.<B>
-</DIV>
-<HR>
-</NOSCRIPT>
+<noscript>
+<div style="color:#CC0000; text-align:center">
+<b>Warning: <a href="http://www.mathjax.org/">MathJax</a>
+requires JavaScript to process the mathematics on this page.<br />
+If your browser supports JavaScript, be sure it is enabled.</b>
+</div>
+<hr>
+</noscript>
-<BLOCKQUOTE>
+<blockquote>
-<H1>MathJax Test Page</H1>
+<h1>MathJax Test Page</h1>
+<p>
If you see typeset mathematics below, then MathJax is working. If you see
TeX code instead, MathJax is not working for you.
-<p>
+</p>
<!------------------------------------------------------------------------>
-<HR>
-
+<hr>
+<p>
\[
\frac{-b\pm\sqrt{b^2-4ac}}{2a}
\]
-<p>
+</p>
-<DIV STYLE="color:green">
-<DIV STYLE="text-align:center; color:red; font-size:120%" CLASS="MathJax_Preview">
+<div style="color:green">
+<div style="text-align:center; color:red; font-size:120%" class="MathJax_Preview">
MathJax is not working!
-</DIV><SCRIPT TYPE="math/tex; mode=display">
+</div><script type="math/tex; mode=display">
\bf MathJax\ Image\ Fonts\ Appear\ to\ be\ Working!
-</SCRIPT>
-</DIV>
+</script>
+</div>
+
+<hr>
+
+<!------------------------------------------------------------------------>
+
+<div id="badBrowser" style="display:none">
+<div class="warning">
+<b>WARNING</b>: The browser you are using does not appear to support
+MathJax, so we can't test if MathJax is working. Please try a different
+browser, or a newer version of your browser in order to test MathJax.
+</div>
+<hr>
+</div>
+
+<!------------------------------------------------------------------------>
+
+<div id="MSIE6" style="display:none">
+<div class="warning">
+<b>WARNING</b>: Internet Explorer 6 does not display images with
+alpha-channel transparency very well, so this test will not look good.
+But in practice, IE6 will use web-based fonts rather than image fonts
+(unless the page forces images, as this one does) so the poor quality
+rendering on this test page does not indicate a problem with MathJax.
+</div>
+<hr>
+</div>
<!------------------------------------------------------------------------>
-<HR>
-<p>
If the mathematics does not show up properly, you may not have not
installed the MathJax web fonts correctly. Follow the steps in the
-<A HREF="../docs/html/installation.html">installation instructions</A>.
+<a href="../docs/html/installation.html">installation instructions</a>.
<p>
-</BLOCKQUOTE>
+</blockquote>
-</BODY>
-</HTML>
+</body>
+</html>
diff --git a/test/index.html b/test/index.html
@@ -1,12 +1,12 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<HTML xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en-US">
-<HEAD>
-<TITLE>MathJax Test Page</TITLE>
-<!-- Copyright (c) 2009-2010 Design Science, Inc. -->
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
-<META HTTP-EQUIV="X-UA-Compatible" CONTENT="IE=EmulateIE7" >
-
-<SCRIPT SRC="../MathJax.js">
+<!DOCTYPE html>
+<html>
+<head>
+<title>MathJax Test Page</title>
+<!-- Copyright (c) 2009-2011 Design Science, Inc. -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
+
+<script type="text/x-mathjax-config">
//
// Do NOT use this page as a template for your own pages. It includes
// code that is needed for testing your site's installation of MathJax,
@@ -47,97 +47,133 @@
};
if (!HUB.Browser.versionAtLeast(MINVERSION[HUB.Browser]||0.0)) {
- HUB.config.jax = []; // don't load any Jax
- HUB.config.extensions = []; // don't load any extensions
- alert("The browser you are using does not support MathJax, " +
- "so we can't test if MathJax is working.\n\n"+
- "Please try a different browser, or a newer version of your browser.");
+ HUB.Config({
+ jax: [], // don't load any Jax
+ extensions: [], // don't load any extensions
+ "v1.0-compatible": false // skip warning message due to no jax
+ });
+ setTimeout('document.getElementById("badBrowser").style.display = ""',0);
}
})(MathJax.Hub);
MathJax.Hub.Register.StartupHook("End",function () {
var HTMLCSS = MathJax.OutputJax["HTML-CSS"];
- if (HTMLCSS.imgFonts) {
- alert("The browser you are using does not seem to support web-based " +
- "fonts, so we can't test the MathJax web fonts with this browser " +
- "(image fonts have been used instead)\n\n" +
- "Please try a different browser, or a newer version of your browser.");
- }
+ if (HTMLCSS && HTMLCSS.imgFonts) {document.getElementById("imageFonts").style.display = ""}
});
-</SCRIPT>
-</HEAD>
-<BODY>
-
-<NOSCRIPT>
-<DIV STYLE="color:#CC0000; text-align:center">
-<B>Warning: <A HREF="http://www.mathjax.org/">MathJax</A>
-requires JavaScript to process the mathematics on this page.<BR>
-If your browser supports JavaScript, be sure it is enabled.<B>
-</DIV>
-<HR>
-</NOSCRIPT>
-
-<BLOCKQUOTE>
-<H1>MathJax Test Page</H1>
+</script>
+<script type="text/javascript" src="../MathJax.js"></script>
+
+<style>
+.warning {
+ color: #800020;
+ background-color: #FFF8F8;
+ border: 2px solid red;
+ margin: 1em 5em;
+ padding: 1em;
+}
+</style>
+</head>
+<body>
+
+<noscript>
+<div style="color:#CC0000; text-align:center">
+<b>Warning: <a href="http://www.mathjax.org/">MathJax</a>
+requires JavaScript to process the mathematics on this page.<br />
+If your browser supports JavaScript, be sure it is enabled.</b>
+</div>
+<hr>
+</noscript>
+
+<blockquote>
+
+<h1>MathJax Test Page</h1>
+<p>
If you see typeset mathematics below, then MathJax is working. If you see
TeX code instead, MathJax is not working for you.
-<p>
+</p>
<!------------------------------------------------------------------------>
-<HR>
+<hr>
+<p>
\[
\frac{-b\pm\sqrt{b^2-4ac}}{2a}
\]
-<p>
+</p>
-<DIV STYLE="color:green">
-<DIV STYLE="text-align:center; color:red; font-size:120%" CLASS="MathJax_Preview">
+<div style="color:green">
+<div style="text-align:center; color:red; font-size:120%" class="MathJax_Preview">
MathJax is not working!
-</DIV><SCRIPT TYPE="math/tex; mode=display">
+</div><script type="math/tex; mode=display">
\bf MathJax\ Appears\ to\ be\ Working!
-</SCRIPT>
-</DIV>
+</script>
+</div>
+
+<hr>
<!------------------------------------------------------------------------>
-<HR>
-<p>
-<DIV ID="noWebFont" STYLE="display:none; color:red">
-<B>WARNING</B>: The web fonts don't seem to be available. Be sure you have
-the <code>MathJax/fonts</code> in place before continuing.
+<div id="badBrowser" style="display:none">
+<div class="warning">
+<b>WARNING</b>: The browser you are using does not appear to support
+MathJax, so we can't test if MathJax is working. Please try a different
+browser, or a newer version of your browser in order to test MathJax.
+</div>
+<hr>
+</div>
+
+<!------------------------------------------------------------------------>
+
+<div id="imageFonts" style="display:none">
+<div class="warning">
+<b>WARNING</b>: The browser you are using does not seem to support web-based
+fonts, so we can't test the MathJax web fonts with this browser (image fonts
+have been used instead). Please try a different browser, or a newer version
+of your browser in order to test MathJax's web-based fonts.
+</div>
+<hr>
+</div>
+
+<!------------------------------------------------------------------------>
+
+<div id="noWebFont" style="display:none">
+<div class="warning">
+<b>WARNING</b>: MathJax's web fonts don't seem to be available. Be sure you have
+the <code>MathJax/fonts</code> directory in place before continuing.
If you fail to install these fonts, MathJax will not
work properly with some browsers. If you can't install the image fonts,
-be sure to set the noImageFonts parameter in your MathJax configuration
+be sure to set the <code>noImageFonts</code> parameter in your MathJax configuration
(either <code>MathJax/config/MathJax.js</code>, or the
<code>MathJax.Hub.Config()</code> call in your web page).
-<p>
-<HR>
-</DIV>
-<p>
+</div>
+<hr>
+</div>
<!------------------------------------------------------------------------>
-<DIV ID="webfonts" STYLE="display:none; color:red">
-<B>WARNING</B>: You are trying to load MathJax from a remote site where the
+<div id="ffWebFont" style="display:none">
+<div class="warning">
+<b>WARNING</b>: You are trying to load MathJax from a remote site where the
web-based fonts are not set up to be shipped to Firefox properly. See the
-<A HREF="../docs/html/installation.html#notes-about-shared-installations">discussion
-of Firefox's same-origin policy</A> in the MathJax documentation.
-<p>
-<HR>
-</DIV>
-<p>
+<a href="../docs/html/installation.html#notes-about-shared-installations">discussion
+of Firefox's same-origin policy</a> in the MathJax documentation for more
+details.
+</div>
+<hr>
+</div>
<!------------------------------------------------------------------------>
-Once you have MathJax working properly, view the <A
-HREF="index-images.html">image mode test page</A> to make sure that the
+<p>
+Once you have MathJax working properly, view the <a
+href="index-images.html">image mode test page</a> to make sure that the
image fallback mode is working as well.
+</p>
-</BLOCKQUOTE>
+</blockquote>
-</BODY>
-</HTML>
+</body>
+</html>
diff --git a/test/sample-dynamic-steps.html b/test/sample-dynamic-steps.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>MathJax Dynamic Steps Test Page</title>
+<!-- Copyright (c) 2011 Design Science, Inc. -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
+
+<script type="text/x-mathjax-config">
+ //
+ // Make displayed equations be aligned left and indented
+ //
+ MathJax.Hub.Config({
+ displayAlign: "left",
+ displayIndent: "2em"
+ });
+ //
+ // Enable the step button after the equation is typeset
+ //
+ MathJax.Hub.Queue(function () {
+ document.getElementById("step").disabled = false;
+ });
+</script>
+<script type="text/javascript" src="../MathJax.js?config=TeX-AMS_HTML-full"></script>
+
+<script type="text/javascript">
+//
+// Use a closure to hide the local variable
+//
+(function () {
+ var n = 1;
+
+ //
+ // Make the current step be visible, and increment the step.
+ // If it is the last step, disable the step button.
+ // Once a step is taken, the reset button is made available.
+ //
+ window.ShowStep = function () {
+ document.getElementById("Step"+n).style.visibility = "visible"; n++;
+ if (!document.getElementById("Step"+n)) {document.getElementById("step").disabled = true}
+ document.getElementById("reset").disabled = false;
+ }
+
+ //
+ // Enable the step button and disable the reset button.
+ // Hide the steps.
+ //
+ window.ResetSteps = function () {
+ document.getElementById("step").disabled = false;
+ document.getElementById("reset").disabled = true;
+ var i = 1, step; n = 1;
+ while (step = document.getElementById("Step"+i)) {step.style.visibility = "hidden"; i++}
+ }
+})();
+</script>
+
+<style>
+/*
+ * Start with the steps being hidden
+ */
+#Step1, #Step2, #Step3, #Step4, #Step5 {
+ visibility: hidden;
+}
+
+h1 {
+ background: #CCCCCC;
+ padding: .2em 1em;
+ border-top: 3px solid #666666;
+ border-bottom: 3px solid #999999;
+}
+</style>
+
+</head>
+<body>
+
+<h1>Dynamic Equations in MathJax</h1>
+
+<blockquote>
+<p>
+Expand the following:
+\begin{align}
+ (x+1)^2
+ &\cssId{Step1}{= (x+1)(x+1)}\\
+ &\cssId{Step2}{= x(x+1) + 1(x+1)}\\
+ &\cssId{Step3}{= (x^2+x) + (x+1)}\\
+ &\cssId{Step4}{= x^2 + (x + x) + 1}\\
+ &\cssId{Step5}{= x^2+2x+1}\\
+\end{align}
+</p>
+
+<input type="button" onclick="ShowStep()" value="Show Next Step" id="step" disabled="true" />
+<input type="button" onclick="ResetSteps()" value="Reset" id="reset" disabled="true" />
+</blockquote>
+
+</body>
+</html>
diff --git a/test/sample-dynamic.html b/test/sample-dynamic.html
@@ -1,18 +1,30 @@
+<!DOCTYPE html>
<html>
<head>
<title>MathJax Dynamic Math Test Page</title>
-<!-- Copyright (c) 2010 Design Science, Inc. -->
+<!-- Copyright (c) 2010-2011 Design Science, Inc. -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
-<script src="../MathJax.js">
+<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
+ jax: ["input/TeX","output/HTML-CSS"]
});
</script>
+<script type="text/javascript" src="../MathJax.js"></script>
+<style>
+input {margin-top: .7em}
+.output {
+ border: 1px solid black;
+ padding: 1em;
+ width: auto;
+ position: absolute; top: 0; left: 2em;
+ min-width: 20em;
+}
+.box {position: relative}
+</style>
</head>
<body>
@@ -23,13 +35,21 @@
//
(function () {
var QUEUE = MathJax.Hub.queue; // shorthand for the queue
- var math = null; // the element jax for the math output.
+ var math = null, box = null; // the element jax for the math output, and the box it's in
+
+ //
+ // Hide and show the box (so it doesn't flicker as much)
+ //
+ var HIDEBOX = function () {box.style.visibility = "hidden"}
+ var SHOWBOX = function () {box.style.visibility = "visible"}
//
// Get the element jax when MathJax has produced it.
//
QUEUE.Push(function () {
math = MathJax.Hub.getAllJax("MathOutput")[0];
+ box = document.getElementById("box");
+ SHOWBOX(); // box is initially hidden so the braces don't show
});
//
@@ -37,31 +57,31 @@
// math entered by the user
//
window.UpdateMath = function (TeX) {
- QUEUE.Push(["Text",math,"\\displaystyle{"+TeX+"}"]);
+ QUEUE.Push(HIDEBOX,["Text",math,"\\displaystyle{"+TeX+"}"],SHOWBOX);
+ }
+
+ //
+ // IE doesn't fire onchange events for RETURN, so
+ // use onkeypress to do a blur (and refocus) to
+ // force the onchange to occur
+ //
+ if (MathJax.Hub.Browser.isMSIE) {
+ window.MathInput.onkeypress = function () {
+ if (window.event && window.event.keyCode === 13) {this.blur(); this.focus()}
+ }
}
})();
</script>
-Type some TeX code and press RETURN:<br/>
-<input id="MathInput" size="50" onchange="UpdateMath(this.value)" />
<p>
+Type some $\rm\TeX$ code and press RETURN:<br />
+<input id="MathInput" size="80" onchange="UpdateMath(this.value)" />
+</p>
-<div id="MathOutput">
-You typed: ${}$
+<p>You typed:</p>
+<div class="box" id="box" style="visibility:hidden">
+<div id="MathOutput" class="output">$${}$$</div>
</div>
-<script>
-//
-// IE doesn't fire onchange events for RETURN, so
-// use onkeypress to do a blur (and refocus) to
-// force the onchange to occur
-//
-if (MathJax.Hub.Browser.isMSIE) {
- window.MathInput.onkeypress = function () {
- if (window.event && window.event.keyCode === 13) {this.blur(); this.focus()}
- }
-}
-</script>
-
</body>
</html>
diff --git a/test/sample-mml.html b/test/sample-mml.html
@@ -1,19 +1,17 @@
+<!DOCTYPE html>
<html>
<head>
<title>MathJax MathML Test Page</title>
-<!-- Copyright (c) 2010 Design Science, Inc. -->
+<!-- Copyright (c) 2010-2011 Design Science, Inc. -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
+
+<script type="text/javascript" src="../MathJax.js?config=MML_HTMLorMML-full"></script>
-<script src="../MathJax.js">
- MathJax.Hub.Config({
- extensions: ["mml2jax.js"],
- jax: ["input/MathML","output/HTML-CSS"]
- });
-</script>
</head>
<body>
+<p>
When <math><mi>a</mi><mo>≠</mo><mn>0</mn></math>,
there are two solutions to <math>
<mi>a</mi><msup><mi>x</mi><mn>2</mn></msup>
@@ -39,6 +37,7 @@ there are two solutions to <math>
</mrow>
<mtext>.</mtext>
</math>
+</p>
</body>
</html>
diff --git a/test/sample-signals.html b/test/sample-signals.html
@@ -1,9 +1,10 @@
+<!DOCTYPE html>
<html>
<head>
<title>MathJax Signals Test Page</title>
-<!-- Copyright (c) 2010 Design Science, Inc. -->
+<!-- Copyright (c) 2010-2011 Design Science, Inc. -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<!--
| This example shows how to use MathJax's signal mechanism to find out
@@ -11,16 +12,27 @@
| occur.
-->
-<script src="../MathJax.js">
+<script type="text/x-mathjax-config">
//
// Configure MathJax
//
MathJax.Hub.Config({
- extensions: ["tex2jax.js"],
+ extensions: ["tex2jax.js","TeX/noUndefined.js"],
jax: ["input/TeX","output/HTML-CSS"],
- tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
+ tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]},
+ TeX: {extensions: ["AMSmath.js","AMSsymbols.js"]}
});
+ //
+ // Display messages when these files are loaded
+ // (Note the difference between extensions and TeX.extensions,
+ // and the difference between when noUndefind is loaded compared
+ // to when it signals that it is ready)
+ //
+ MathJax.Hub.Register.LoadHook("[MathJax]/extensions/TeX/noUndefined.js",
+ function () {MathJax.Hub.Startup.signal.Post("*** noUndefined Loaded ***")});
+ MathJax.Hub.Register.LoadHook("[MathJax]/extensions/TeX/AMSmath.js",
+ function () {MathJax.Hub.Startup.signal.Post("*** AMSmath Loaded ***")});
//
// Display a message that we are in the configuration code
@@ -52,6 +64,7 @@
MathJax.Hub.Queue(function () {Message("*** MathJax is done ***")});
</script>
+<script type="text/javascript" src="../MathJax.js"></script>
<style>
.output {
@@ -61,19 +74,26 @@
padding: 3px 1em;
}
</style>
+
</head>
<body>
+<p>
When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
+</p>
+<p>
Messages about mathematics:
<pre id="MathMessages" class="output">
</pre>
+</p>
+<p>
All Messages:
<pre id="AllMessages" class="output">
</pre>
+</p>
<script>
(function () {
diff --git a/test/sample-tex.html b/test/sample-tex.html
@@ -1,22 +1,25 @@
+<!DOCTYPE html>
<html>
<head>
<title>MathJax TeX Test Page</title>
-<!-- Copyright (c) 2010 Design Science, Inc. -->
+<!-- Copyright (c) 2010-2011 Design Science, Inc. -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
-<script src="../MathJax.js">
+<script type="text/x-mathjax-config">
MathJax.Hub.Config({
- extensions: ["tex2jax.js"],
- jax: ["input/TeX","output/HTML-CSS"],
tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
});
</script>
+<script type="text/javascript" src="../MathJax.js?config=TeX-AMS_HTML-full"></script>
+
</head>
<body>
-When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
+<p>
+When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
+</p>
</body>
</html>
diff --git a/test/sample-tex2mml.html b/test/sample-tex2mml.html
@@ -1,23 +0,0 @@
-<html>
-<head>
-<title>MathJax TeX input with MathML output Test Page</title>
-<!-- Copyright (c) 2010 Design Science, Inc. -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
-
-<script src="../MathJax.js">
- MathJax.Hub.Config({
- config: ["MMLorHTML.js"],
- extensions: ["tex2jax.js"],
- jax: ["input/TeX"],
- tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
- });
-</script>
-</head>
-<body>
-
-When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
-$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
-
-</body>
-</html>
diff --git a/test/sample.html b/test/sample.html
@@ -1,33 +1,48 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<HTML xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en-US">
-<HEAD>
-<TITLE>MathJax Test Page</TITLE>
-<!-- Copyright (c) 2009 Design Science, Inc. -->
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
-<META HTTP-EQUIV="X-UA-Compatible" CONTENT="IE=EmulateIE7" >
-
-<SCRIPT SRC="../MathJax.js">
+<!DOCTYPE html>
+<html>
+<head>
+<title>MathJax Test Page</title>
+<!-- Copyright (c) 2009-2011 Design Science, Inc. -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
+
+<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
});
-</SCRIPT>
-</HEAD>
-<BODY>
-
-<NOSCRIPT>
-<DIV STYLE="color:#CC0000; text-align:center">
-<B>Warning: <A HREF="http://www.mathjax.org/">MathJax</A>
-requires JavaScript to process the mathematics on this page.<BR>
-If your browser supports JavaScript, be sure it is enabled.<B>
-</DIV>
-<HR>
-</NOSCRIPT>
-
-<BLOCKQUOTE>
-
-<p><b>The Lorenz Equations</b></p>
+</script>
+<script type="text/javascript" src="../MathJax.js"></script>
+
+<style>
+h1 {text-align:center}
+h2 {
+ font-weight: bold;
+ background-color: #DDDDDD;
+ padding: .2em .5em;
+ margin-top: 1.5em;
+ border-top: 3px solid #666666;
+ border-bottom: 2px solid #999999;
+}
+</style>
+</head>
+<body>
+
+<noscript>
+<div style="color:#CC0000; text-align:center">
+<b>Warning: <a href="http://www.mathjax.org/">MathJax</a>
+requires JavaScript to process the mathematics on this page.<br />
+If your browser supports JavaScript, be sure it is enabled.</b>
+</div>
+<hr>
+</noscript>
+
+<h1>Sample MathJax Equations</h1>
+
+<blockquote>
+
+<h2>The Lorenz Equations</h2>
<p>
\begin{align}
@@ -37,14 +52,14 @@ If your browser supports JavaScript, be sure it is enabled.<B>
\end{align}
</p>
-<p><b>The Cauchy-Schwarz Inequality</b></p>
+<h2>The Cauchy-Schwarz Inequality</h2>
<p>\[
\left( \sum_{k=1}^n a_k b_k \right)^{\!\!2} \leq
\left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)
\]</p>
-<p><b>A Cross Product Formula</b></p>
+<h2>A Cross Product Formula</h2>
<p>\[
\mathbf{V}_1 \times \mathbf{V}_2 =
@@ -55,11 +70,11 @@ If your browser supports JavaScript, be sure it is enabled.<B>
\end{vmatrix}
\]</p>
-<p><b>The probability of getting \(k\) heads when flipping \(n\) coins is:</b></p>
+<h2>The probability of getting \(k\) heads when flipping \(n\) coins is:</h2>
<p>\[P(E) = {n \choose k} p^k (1-p)^{ n-k} \]</p>
-<p><b>An Identity of Ramanujan</b></p>
+<h2>An Identity of Ramanujan</h2>
<p>\[
\frac{1}{(\sqrt{\phi \sqrt{5}}-\phi) e^{\frac25 \pi}} =
@@ -67,7 +82,7 @@ If your browser supports JavaScript, be sure it is enabled.<B>
{1+\frac{e^{-8\pi}} {1+\ldots} } } }
\]</p>
-<p><b>A Rogers-Ramanujan Identity</b></p>
+<h2>A Rogers-Ramanujan Identity</h2>
<p>\[
1 + \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots =
@@ -75,7 +90,7 @@ If your browser supports JavaScript, be sure it is enabled.<B>
\quad\quad \text{for $|q|<1$}.
\]</p>
-<p><b>Maxwell's Equations</b></p>
+<h2>Maxwell's Equations</h2>
<p>
\begin{align}
@@ -86,6 +101,8 @@ If your browser supports JavaScript, be sure it is enabled.<B>
\end{align}
</p>
+<h2>In-line Mathematics</h2>
+
<p>Finally, while display equations look good for a page of samples, the
ability to mix math and text in a paragraph is also important. This
expression \(\sqrt{3x-1}+(1+x)^2\) is an example of an inline equation. As
@@ -93,7 +110,7 @@ you see, MathJax equations can be used this way as well, without unduly
disturbing the spacing between lines.</p>
-</BLOCKQUOTE>
+</blockquote>
-</BODY>
-</HTML>
+</body>
+</html>