.. _FAQ: ********************************** MathJax Frequently Asked Questions ********************************** Which license is MathJax distributed under? ------------------------------------------- MathJax is distributed under the `Apache License, Version 2.0 `__. Will MathJax make my page load slower even if there's no math? -------------------------------------------------------------- MathJax loads components only when needed so there is a big difference between what is loaded on a page without mathematics and one that does include mathematics. On a page with no mathematics, loading MathJax requires two files: MathJax.js and a configuration file. If taken from a CDN, the actual (compressed) data transferred for MathJax.js will be about 14.4KB. The configuration file can vary greatly in size depending on what is included; minimal configurations can be as small as 3.7KB, reasonable configurations vary between 25KB and 40KB -- bringing us to a total of 18KB to 55KB, i.e., roughly a small to medium sized image. To learn more about configuring MathJax, see :ref:`our documentation `. Mathematics is not rendering properly in IE. How do I fix that? --------------------------------------------------------------- First, please open the MathJax homepage at `www.mathjax.org `__ in IE to see if that loads correctly. If it does, this indicates that there may be something wrong with the webpage you were trying to view initially. If appropriate, upgrade the website to `the latest version of MathJax `__. If the MathJax homepage does not display mathematics properly, there may be an issue with your security settings in Internet Explorer. Please check the following settings: - "Active Scripting" under the Scripting section should be enabled, as it allows JavaScript to run. - "Run ActiveX controls and Plugins" should be enabled (or prompted) in the "ActiveX Controls and Plugins" section. - "Script ActiveX controls marked safe for scripting" needs to be enabled (or prompted) in the same "ActiveX Controls and Plugins" section. Note that it requires a restart of IE if you change this setting. - "Font Download" has to be enabled (or prompted) in the "Downloads" section. This is required for MathJax to use web-based fonts for optimal viewing experience. You may need to select Custom Level security to make these changes. If you have verified that the above settings are correct, tried clearing your cache and restarting IE, and are still experiencing problems with displaying mathematics on www.mathjax.org, we would appreciate it if you reported the problem to the MathJax User Group so we can look into it. Please follow the `guidelines for reporting problems <#problem-report>`__ described below. Some of my mathematics is too large or too small. How do I get it right? ------------------------------------------------------------------------ MathJax renders mathematics dynamically so that formulas and symbols are nicely integrated into the surrounding text - with matching font size, margins, and baseline. So, in other words: it should look right. If your mathematics is too large or too small in comparison to its surroundings, you may be using the incorrect typesetting style. Following LaTeX conventions, MathJax supports two typesetting styles: inline and paragraph (or "display") equations. For inline equations, MathJax tries hard to maintain the inter-line spacing. This means things like fractions and roots are vertically compressed, and smaller fonts are used. Paragraph equations are shown as a separate paragraph and can be displayed with more space and slightly larger fonts. The standard delimiters for inline equations are ``\(...\)``, while for paragraph equations they are ``$$...$$`` or ``\[...\]``, but they can be customized. For how to configure MathJax to scale all mathematics relative to the surrounding text, check our documentation for :ref:`the HTML output ` and :ref:`the SVG output `. How do I access a CDN using a https secure connection? ---------------------------------------------------------------- a CDN can be accessed via ``https``. We advise to always use ``https``. For more information, see :ref:`our documentation `. My mathematics is private. Is it safe to use MathJax? ----------------------------------------------------- Yes. MathJax is JavaScript code that is run entirely within the browser of the user, and so your site's actual content never leaves the browser while MathJax is rendering. If you are using MathJax on a cdn, it interacts with a web server to get font data but this is all put together in the browser of the reader. In case you have concerns about cross-site scripting, you can access a CDN service using the secure ``https`` protocol to prevent tampering with the code between the CDN and a browser. Or, if you prefer, you can also install MathJax on your own web server. MathJax does not reference script codes on other websites. The code is, of course, open source which means that you can `review it and inspect its integrity `__. Does MathJax support Presentation and/or Content MathML? -------------------------------------------------------- MathML comes in two types: Presentation MathML, which describes what an equation looks like, and Content MathML, which describes what an equation means. By default, MathJax works with Presentation MathML and offers an extension for Content MathML, see :ref:`the documentation on MathML support `. You can also convert your Content MathML expressions to Presentation MathML using xslt, see for example David Carlisle's `web-xslt collection `__. A more detailed explanation of the difference between Content and Presentation MathML can be found in the module `"Presentation MathML Versus Content MathML" `__ at cnx.org. How do I create mathematical expressions for display with MathJax? ------------------------------------------------------------------ MathJax is a method to display mathematics. It is not an authoring environment, and so you will need another program to create mathematical expressions. The most common languages for mathematics on the computer are (La)TeX and MathML, and there are many authoring tools for these languages. MathJax is compatible with both MathML and (La)TeX. LaTeX code is essentially plain text, and so you do not need a special program to write LaTeX code (although complete authoring environments exist). If you are not familiar with LaTeX, you will need some determination to learn and master the language due to its specialized nature and rich vocabulary of symbols. There are various good tutorials on the net, and there is not a one-size-fits-all best one. A good starting point is the `TeX User Group `__, or have a look at the `LaTeX Wiki book `__. `MathML `__ is an XML-based web format for mathematical expressions. MathML3, the latest version, has been an official W3C recommendation since October 2010. MathML is widely supported by Computer Algebra Systems and can be created with a choice of authoring tools, including Microsoft Office with the `MathType `__ equation editor. A list of software the supports MathML may be found in `The W3C MathML software list `__. I ran into a problem with MathJax. How do I report it? ------------------------------------------------------ If you come across a problem with MathJax, please report it so that the development team and other users are aware and can look into it. It is important that you report your problem following the steps outlined here because this will help us to rapidly establish the nature of the problem and work towards a solution effectively. If you have are experiencing a problem, please follow these steps: - Have you cleared your browser cache, quit your browser, and restarted it? If not, please do so first and check if the problem persists. `These instructions `__ tell you how to clear your cache on the major browsers. - Have you turned of other extensions and plugins in your browser, and restarted it? - Have a look at the math rendering examples on `www.mathjax.org `__ to see if you experience problems there as well. This might help you to determine the nature of your problem. - If possible, check whether the problem has been solved in the latest MathJax release. The preferred way to do this is to invoke the most recent version of MathJax on a cdn by pointing to https://example.com/MathJax.js. If you need to work locally, try a fresh install of the `latest release `__. - Search through the `MathJax User Group `__ to see if anyone else has come across the problem before. - Found a real and new problem? Please report it to the `MathJax User Group `__ including the following information: - A detailed description of the problem. What exactly is not working as you expected? What do you see? - The MathJax version you are working with, your operating system, and full browser information including all version information. - If at all possible, a pointer to a webpage that is publicly available and exhibits the problem. This makes sure that we can reproduce the problem and test possible solutions. The MathJax font folder is too big. Is there any way to compress it? -------------------------------------------------------------------- No, there is no simple way to make the fonts folder smaller. We have tried to make the fonts folder as small as possible, but in order to render math on some older browsers, you need image fonts, which take up most of the space. This is because you need an individual image file for each character in each font in each of a dozen different sizes, and each file must be at least the block size of the hard drive it is stored on (usually 4 kb). With nearly 30,000 separate image files, this adds up to a lot. Some users have suggested using a "sprite font" that has all the characters in a single image, from which MathJax could show only the particular character it wants. This is a nice idea, but it does not work well in practice (at least not if you want it to work reliably across multiple browsers). Since the image fonts are intended as a last resort for browsers whose functionality is not well behaved, relying on fancy CSS tricks to clip large images is not going to be a viable strategy. This approach also has performance and printing problems. The single-glyph-per-file approach has proven to be the only truly reliable and maintainable approach that we have found. If you want to disable image fonts altogether, however, in order to save space, you can. **Note:** If you disable image fonts, MathJax might not work on some users' browsers. With image fonts disabled, users must either have the MathJax or STIX fonts on their computer or their browser must support the @font-face CSS directive. This means IE6+, Chrome, Safari 3.1+, Firefox 3.5+, and Opera 10+, or other browsers based on their rendering engines. On earlier browsers (without local fonts) or if webfonts are blocked , MathJax will not be able to render math reliably (though it will try its best). To disable image fonts, edit the MathJax config file at ``[MathJax]/config/MathJax.js`` or the custom config inside your template's ``