# MathJax-LaTeX

## Description

Mathjax enables enables rendering of embedded latex or mathml in HTML pages.
This plugin adds this functionality to wordpress. The mathjax javascript is
inject on-demand only to those pages which require it. This ensures that

The MathJax javascript can be delivered from your own server, or you can
utilise the [MathJax Content Distribution Network (CDN)]
(http://www.mathjax.org/docs/latest/start.html#mathjax-cdn), which is the preferred
mechanism as it offers increased speed and stability over hosting the Javascript
and configuring the library yourself. Use of the CDN is governed by these

You may embed latex using a variety of different syntaxes. The shortcode
(https://codex.wordpress.org/Shortcode_API) syntax is preferred. So
$E=mc^2$ will work out of the box. This also forces loading of
mathjax.

Additionally, you can use native mathjax syntax — $$E=mc^2$$ or (E=mc^2).
However, if this is the only syntax used, the plugin must be explicitly told
to load mathjax for the current page. This can be achieved by adding a
[mathjax] shortcode anywhere in the post. For posts with both $x$
and $$x$$ syntaxes this is unnecessary.

You can use wp-latex syntax, $latex E=mc^2$. Parameters can be
specified as with wp-latex but will be ignored. This means that mathjax-latex
should be a drop in replacement for wp-latex. Because this conflicts with
wp-latex, this behaviour is blocked when wp-latex is present, and must be
explicitly enabled in the settings.

You can also specify [nomathjax] — this will block mathjax on the
current page, regardless of other tags.

MathJax-LaTeX is developed on
Github.

under GPLv2.

## Reviews

### Just Works (TM)

I am not a heavy LaTeX user but I do write about mathematics every now and then, and I find MathJax extremely useful. I have been using it for the last 2 or 3 years - no issues whatsoever. It simply works, both on PC an on mobile. The biggest selling point to me is that it allows for selecting & copying math expressions as text (as opposite to other LaTeX plugins that convert expressions to png). This makes things scalable, performant etc. Good work!

### Great that it's only injected on pages that use it

Up to now I've been using the Simple Mathjax plugin, which also works well, but is not able to inject the mathjax dependency selectively.

On my sites I have math only on a very few pages, and MathJax-LaTeX enables me to enable mathjax only on those pages by just adding the [mathjax] shortcode somewhere.

Importantly, remember to disable Jetpack Beautiful Math, else it can interfere with MathJax-LaTeX. (at the time of writing, Jetpack is still turning math into bitmaps, which is not nearly as beautiful as MathJax on capable browsers).

See https://vxlabs.com/2014/06/16/level-sets-the-practical-10-minute-introduction/ for an example.

## Changelog

#### 1.3.5

1. Add support for MathJax config via filter

#### 1.3.4

1. PHP code cleanup
2. Always use https URL for MathJax library
3. Updated “tested up to” to 4.3

#### 1.3.3

1. Fixed inconsistent version numbers between readme and php file

#### 1.3.2

1. Further code clean ups.

#### 1.3.1

1. Accessibility Improvements for Admin page
2. VIP Coding Standards
3. MathML tags enabled in TinyMCE

All code for this release was submitted by users of
this plugin! Thanks to Jared Wenerd and Paul Schreiber.

#### 1.3.0

1. Whitelist MathML tags and attributes.
2. Sanitization of input and escaping of output.

#### 1.2.1

1. Bug fix: custom location was not correctly applied.
2. Bug fix: force load was not correctly applied.

#### 1.2

1. Admin page was open to attack from third party sites which user was logged
2. The admin page has been isolated and rewritten.
3. All the options have been renamed, which will, unfortunately mean
reconfiguring the plugin. In particular, wp-latex syntax is switched off by
default.

#### 1.1

1. Documentation update
2. Update test-with documentation for WordPress 3.5.1
3. Tested against MathJax2.1

#### 1.0

1. Compatibility with MathJax 1.1. Load a default configuration from the MathJax distribution.
2. Use the MathJax Content Distribution Network to deliver the javascript library. Offers improved performance and stability.

#### 0.2

1. MathJax.js can be loaded form a configurable URL. Defaults to \$PLUGIN/MathJax/MathJax.js

## Contributors & Developers

This is open source software. The following people have contributed to this plugin.

Contributors