# DokuWiki

It's better when it's simple

Corporate Use

Our Community

plugin:jsmath

# jsmath Plugin

Compatible with DokuWiki

2011-05-25 2009-02-14 2009-12-25 2010-11-07, angua

Plugin for displaying LaTeX equations using MathJax. (Discontinued: MathJax plugin recommended instead.)

Last updated on
2011-06-21
Provides
Syntax
Repository
Source

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Similar to format, latex, math, math2

Tagged with !discontinued, formula, latex, math

By Holger

## End-of-life

This plugin, even though it should still work, has been abandoned. It is recommended to use the excellent plugin mathjax instead.

## Installation

Install this plugin in the plugin manager and use LaTeX code right away!

For your convenience, the plugin is available in two different archive formats.

## Features

• Use LaTeX-code and high-quality LaTeX-fonts in your wiki.
• Neither client nor server require additional LaTeX-specific setup.
• LaTeX-code is beautifully rendered by the client's browser using a JavaScript library.

## Usage

Once this plugin is installed, you can embed LaTeX code into your wiki pages.

#### Inline Math

Each of the following will cause jsmath to display the formula inline:

$e^{i \pi} = -1$
$$e^{i \pi} = -1$$
<jsm>e^{i \pi} = -1</jsm>

#### Displayed Math

Each of the following will display an equation in block format, on its own line:

$e^{i \pi} = -1$
<jsmath>e^{i \pi} = -1</jsmath>

## Configuration

On the DokuWiki Configuration Settings page (available in the admin menu) you can

1. Choose to not use dollar symbols for displaying math.
2. Set the full URL to the MathJax or jsMath installation you want to use. The default is the official MathJax distribution at http://cdn.mathjax.org/mathjax/latest

## (Optional) Install a local copy of the Rendering Backend

The jsmath plugin for DokuWiki does not render the LaTeX-code itself. Instead it uses a JavaScript backend that renders the code in the client's browser. Two different JavaScript backends are currently supported:

• jsMath is mature software and in recent versions quite fast. The drawback is that the client needs to manually install additional fonts for best quality.
• MathJax is a modern replacement for jsMath. The high-quality fonts are automatically downloaded and used if the client uses a modern browser.

The default behaviour of the jsmath plugin is to use the MathJax CDN at http://cdn.mathjax.org/mathjax/latest, but you can also download and use a local copy. You only need to install one of those libraries. If unsure, choose MathJax.

#### a) MathJax

To get the cutting edge version of MathJax, get the most recent version from the developer's page. In short:

git clone git://github.com/mathjax/MathJax.git

Now move the mathjax directory to your webspace. You can test your installation by going to URL/mathjax/test/

#### b) jsMath

Follow the installation instructions. In short:

2. Optionally download the jsMath Image Fonts and extract the zip-file to the same directory.
3. Optionally install the TeX fonts for jsMath on your local machine.

## Development

If you want to contribute to this plugin, go to the project page of this plugin or contact Holger.

## Discussion

### Backend discussion

I've just switched from jsplugin backend to MathJax one: it's awesome ! This plugin together MathJax makes publishing math in dokuwiki a real pleasure. And it is so easy to install both. Thank you very much ! Now that MathJax is in version 1.0.1 I think you should recommend it over jsmath now.

### Unresolved Issues

#### Conflict with asciisvg plugin

Hi,

When asciisvg is installed, jsmath does not work anymore.

Any workaround? Thanks.

#### How to set backend_url for JsMath

Hi,

How to set the JsMath backend_url in the plugin setting with the absolute/relative PATH on my server?

If I set it with current IP, it doesn't work when the IP changed.

Any solution? Thanks

Answer: Try dyndns.org. I'm not sure whether relative paths work. – Holger.

#### How to add extensions for MathJax

Thanks for the excellent plugin! I needed the AMSmath and AMSsymbols extensions so I manually added them to install_js.php as follows.

document.write('<script type="text/javascript" src="<?php echo(\$backend_url); ?>/MathJax.js">MathJax.Hub.Config({extensions: ["jsMath2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], jax: ["input/TeX", "output/HTML-CSS"] });</script>');

It would be great if there was an option on the configuration page to list extensions that should automatically be loaded. Did I miss it? Thanks.

#### Formula labels and references

Anyone got an idea or workaround for how to label formulas and refer to or even link to them from the text?

It's not pretty but I use a combination of bookmark and wrap to label equations. It's tedious because they don't autonumber. For example:
where $$\delta_{kl}$$ is the Kronecker delta function.  Hence [[#Eq. 3.3]] reduces to
<div right><BOOKMARK:eq_34>(Eq. 3.4)</div>
$\text{Covar}[a_j,a_k] = C_{jk}$
and we find that $$[C]$$ is the covariance matrix.  The variance of a single parameter $$a_j$$ is simply defined as
<div right><BOOKMARK:eq_35>(Eq. 3.5)</div>
$\text{Var}[a_j]=\text{Covar}[a_j,a_j]=C_{jj}.$
The Mathjax people work on adding support for \label and \ref capabilities. https://github.com/mathjax/MathJax/issues/71 – Holger.

### Webspace inode limit solved by MathJax CDN

Some webspaces set an inode limit for the users (maximum number of files and folders) and, if you unzip the MathJax package directly on the server, it take about 36.000 inodes; this number is really high for a lot of free webspaces, then to resolve the issue you can use the cdn network kindly offered by MathJax, by putting the following url in the field “plugin»jsmath»backend_url”:

 http://cdn.mathjax.org/mathjax/latest/