LaTeX to MathML Mathematical Equation Plug-in

This plugin translates embedded LaTeX-like equations into in-line MathML. It requires a MathML enabled browser, such as Mozilla.

Syntax Rules

The syntax rules for embedding equations are identical to those of the TWiki:Plugins/MathModePlugin and are based on LaTeX's own markup for equations. The equations themselves are expressed in a language very, very similar to LaTeX called Itex. (Apparently the major differences are in the way equation arrays are handled.)

To put an equation in-line with your text, enclose it with percent signs and the dollar sign,
   %$ put your math here $%
for example:
   %$  \frac{\partial u}{\partial x} = U(x) $%
where the opening and closing delimiter must be on the same line.

For equations set on their own line, use the
   %\[ put your math here \]%
notation, for example:
   %\[  \frac{\partial u}{\partial x} = U(x) \]%
and the font will be slightly larger.

For equations written over several lines in the original TWiki document you use the
%MATH<nop>MODE{ "a=b" }%
delimiter. The value in quotes is type set, whether or not it is on a single line. However, unlike the other delimiters, this is also typeset in <pre> environments.

Examples

%$ \sum_{n=1}^\infty \frac{1}{n} $% is divergent, but %$ \lim_{n \to \infty}\sum_{i=1}^n \frac{1}{i} - \ln n $% exists.

This is an %$\frac{\partial u}{\partial x} = U(x)$% inline equation.

This equation %\[\frac{\partial u}{\partial x} = \pi \int_a^b F(x) dx\]% should be typset on its own line.

This equation %MATHMODE{" \frac{\partial u}{\partial x} = \omega \int_a^b F(x) dx "}% is broken over several lines of source text.

Resources for MathML

  • Mozilla's MathML Project contains information on how to get started with MathML in Mozilla. A default installation from a major Linux distribution ought to be complete enough to use this plug-in. It is available for free. See notes below.
  • The itex2MML program is a FLEX/LEX parser which this plug-in uses to do the actual translation of the LaTeX equations into MathML.
  • At the W3C Math Home Page you can find the DTD for MathML along with authoring information. You can even read the 1993 proposal neglected for so many years. Advocates of the commercialization of the web: please note the delay and feel shame.
  • If your organisation does not allow Mozilla then there is a plug-in available at Design Science which may do the trick. (I haven't tried this one.)

LaTeXToMathMLPlugin Global Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %INTERWIKIPLUGIN_SHORTDESCRIPTION%

  • One line description, is shown in the Text Formatting Rules topic:
    • Set SHORTDESCRIPTION = Display LaTeX-like equations in-line using MathML

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin (although your browser must be capable of displaying MathML). The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

  • Install the program itex2MML on your system. The location must be somewhere that your web server can access.

  • Alter the main twiki.tmpl template in the TWiki installation, in the ./templates directory, or in the sub-directory of any Web that will use this plugin. The line
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    must be changed to support the MathML DTD. Over-write it with:
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"> 

  • Alter the lib/TWiki.pm file so that the content type is emitted not as text/html but rather application/xhtml+xml . This is a rather dire change. If you have done anything on your pages that is not legal XHTML then your browser may complain mightily.

    The change is in sub writeHeader about line 505, where the statement
     writeHeaderFull( $query, 'basic', 'text/html', 0);
    needs to become
     writeHeaderFull( $query, 'basic', 'application/xhtml+xml', 0);

  • Download the ZIP file from the Plugin web (see below)

  • Unzip LaTeXToMathMLPlugin.zip in your twiki installation directory. Content:

    File: Description:
    data/TWiki/LaTeXToMathMLPlugin.txt Plugin topic
    data/TWiki/LaTeXToMathMLPlugin.txt,v Plugin topic repository
    pub/TWiki/LaTeXToMathMLPlugin/xhtml-math11-f.dtd XML DTD for XHTML 1.1 and MathML
    lib/TWiki/Plugins/LaTeXToMathMLPlugin.pm Plugin Perl module
  • (Dakar) Visit configure in your TWiki installation, and enable the plugin in the {Plugins} section.

  • If your system does not have itex2MML on the default path, edit the line of LaTeXToMathMLPlugin.pm that reads:
     my $itex2MML = 'itex2MML'; 
    to contain the whole path to the executable. For example:
     my $itex2MML = '/usr/local/bin/itex2MML';
  • Test if the installation was successful: the examples above should be rendered as equations, not text.

Notes

  1. This plug-in conflicts with the TWiki:Plugins/MathModePlugin which will need to be disabled. If you re-enable it later, you may need to re-edit pages to update any graphics of math that it would have otherwise generated. You may wish to clean-up the graphics left by TWiki:Plugins/MathModePlugin in the pub/ directories.

  2. Note that documents must be served to Mozilla as application/xhtml+xml for the MathML portion to be rendered correctly. This can pose some challenges for existing TWiki installations with less than tidy XHTML.

  3. Mozilla on Linux has a problem with Xft, the FreeType renderer for fonts. This in turn causes problems with xfs, the X11 font server that uses Xft. For Mozilla versions before 1.4 (assuming this gets fixed in 1.4) you have to set the environment variable
      setenv GDK_USE_XFT 0 
    to enable the correct rendering of the TeX Computer Modern fonts. You may also need to install those fonts, as noted on the MathML project fonts page.

Plugin Info

Plugin Author: TWiki:Main/guest
Plugin Version: 15 Apr 2003 (V1.000)
Change History:  
15 Apr 2003: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/LaTeXToMathMLPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/LaTeXToMathMLPluginDev

Related Topics: TWiki Preferences, TWiki Plugins, TWiki:Plugins/MathModePlugin

-- Simon Clift? - 22 Apr 2003
Topic attachments
I Attachment Action Size Date Who Comment
xhtml-math11-f.dtddtd xhtml-math11-f.dtd manage 390.9 K 15 Apr 2003 - 15:46 Unknown User W3 C?'s DTD for MathML with XHTML 1.1
Topic revision: r1 - 22 Apr 2003 - 19:15:00 - Simon Clift?
 
Ad Sponsor
Back to Redbourn
Copyright © We make no guarantee of the correctness of the content of this site. All material on this collaboration platform is the property of Martin Cleaver and the contributing authors.