Tags:
tag this topic
create new tag
view all tags
---+!! <nop>LaTeX to <nop>MathML Mathematical Equation Plug-in <!-- Contributions to this plugin are appreciated. Please update the plugin page at http://twiki.org/cgi-bin/view/Plugins/LaTeXToMathMLPlugin or provide feedback at http://twiki.org/cgi-bin/view/Plugins/LaTeXToMathMLPluginDev. If you are a TWiki contributor please update the plugin in the SVN repository. --> <sticky><div style="float:right; background-color:#EBEEF0; margin:0 0 20px 20px; padding: 0 10px 0 10px;"> %TOC{title="Page contents"}% </div></sticky> %SHORTDESCRIPTION% ---++ Overview This plugin translates embedded <nop>LaTeX-like equations into in-line <nop>MathML. It requires a <nop>MathML enabled browser, such as Mozilla. See TWiki:Codev.MathMarkup for some Javascript-only client-side alternatives. ---++ Syntax Rules The syntax rules for embedding equations are identical to those of the TWiki:Plugins.MathModePlugin and are based on <nop>LaTeX's own markup for equations. The equations themselves are expressed in a language very, very similar to <nop>LaTeX called [[http://golem.ph.utexas.edu/~distler/blog/itex2MML.html][itex2MML]]. (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, <pre> %$ put your math here $% </pre> for example: <pre> %$ \frac{\partial u}{\partial x} = U(x) $% </pre> where the opening and closing delimiter must be on the same line. For equations set on their own line, use the <pre> %\[ put your math here \]% </pre> notation, for example: <pre> %\[ \frac{\partial u}{\partial x} = U(x) \]% </pre> and the font will be slightly larger. For equations written over several lines in the original TWiki document you use the =%<nop>MATHMODE{ "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 <nop>MathML * [[http://www.mozilla.org/projects/mathml/][Mozilla's <nop>MathML Project]] contains information on how to get started with <nop>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 [[http://golem.ph.utexas.edu/~distler/blog/itex2MML.html][itex2MML]] program is a [[http://www.gnu.org/directory/flex.html][FLEX/LEX]] parser which this plug-in uses to do the actual translation of the <nop>LaTeX equations into <nop>MathML. * Use the [[http://www.mozilla.org/projects/mathml/demo/texvsmml.xhtml][MathML Torture Test]] to see if your browser supports !MathML. * At the [[http://www.w3.org/Math/][W3C Math Home Page]] you can find the DTD for <nop>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 [[http://www.dessci.com/en/products/webeq/webeq.asp][Design Science]] which may do the trick. _(I haven't tried this one.)_ ---++ <nop>%TOPIC% Global Settings Plugin settings are stored as preferences variables. To reference a plugin setting write ==%<nop><plugin>_<setting>%==, i.e. ==%<nop>LATEXTOMATHMLPLUGIN_SHORTDESCRIPTION%== * One line description, is shown in the %SYSTEMWEB%.TextFormattingRules topic: * Set SHORTDESCRIPTION = Display <nop>LaTeX-like equations in-line using <nop>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 <nop>MathML). The following instructions are for the administrator who installs the plugin on the TWiki server. * Install the program [[http://golem.ph.utexas.edu/~distler/blog/itex2MML.html][itex2MML]] on your system. The location must be somewhere that your web server can access. * If you have it installed, disable the TWiki:Plugins/MathModePlugin by adding it to the =DISABLEDPLUGINS= line of your [[%LOCALSITEPREFS%]] page. For example:%BR% * Set DISABLEDPLUGINS = <nop>MathModePlugin * Alter the main =twiki.pattern.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 %BR% =<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">= %BR% must be changed to support the <nop>MathML DTD. Replace it with:%BR% =<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus !MathML 2.0//EN"= %BR% =<literal> "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd" [= %BR% =<nop> <!ENTITY mathml "http://www.w3.org/1998/Math/MathML">= %BR% =]></literal>= %BR% <!-- * 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. <p></p> The change is in =sub writeHeader= about line 505, where the statement <pre> writeHeaderFull( $query, 'basic', 'text/html', 0);</pre> needs to become <pre> writeHeaderFull( $query, 'basic', 'application/xhtml+xml', 0);</pre> --> * Download the ZIP file from the Plugin web (see below) * Unzip ==%TOPIC%.zip== in your twiki installation directory. Content: <p></p> | *File:* | *Description:* | | ==data/TWiki/%TOPIC%.txt== | Plugin topic | | ==pub/TWiki/%TOPIC%/xhtml-math11-f.dtd== | XML DTD for XHTML 1.1 and <nop>MathML | | ==lib/TWiki/Plugins/%TOPIC%.pm== | Plugin Perl module | * 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 =%TOPIC%.pm= that reads: <pre> my $itex2MML = 'itex2MML'; </pre> to contain the whole path to the executable. For example: <pre> my $itex2MML = '/usr/local/bin/itex2MML';</pre> * 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. %BR% 1. Note that documents must be served to Mozilla as =application/xhtml+xml= for the <nop>MathML portion to be rendered correctly. This can pose some challenges for existing TWiki installations with less than tidy XHTML. %BR% 1. Mozilla on Linux has a problem with Xft, the <nop>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 <pre> setenv GDK_USE_XFT 0 </pre> to enable the correct rendering of the <nop>TeX Computer Modern fonts. You may also need to install those fonts, as noted on the [[http://www.mozilla.org/projects/mathml/fonts][<nop>MathML project fonts page.]] ---++ Plugin Info | Plugin Author: | TWiki:Main.SimonClift | | Copyright: | © 2003 TWiki:Main.SimonClift <br /> © 2008-2011 TWiki:TWiki.TWikiContributor | | License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | | Plugin Version: | 2011-03-17 | | Change History: | <!-- versions below in reverse order --> | | 2011-03-15: | TWikibug:Item6638: Doc fixes; code fixes & cleanup (page content was shown twice); changing TWIKIWEB to SYSTEMWEB -- TWiki:Main.PeterThoeny | | 2003-04-15: | Initial version | | CPAN Dependencies: | none | | Other Dependencies: | [[http://golem.ph.utexas.edu/~distler/blog/itex2MML.html][itex2MML]] | | Perl Version: | 5.005 | | Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC% | | Feedback: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev | __Related Topics:__ %SYSTEMWEB%.TWikiPreferences, %SYSTEMWEB%.TWikiPlugins, TWiki:Plugins/MathModePlugin
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
dtd
xhtml-math11-f.dtd
r1
manage
381.1 K
2011-03-18 - 06:11
TWikiAdminUser
Saved by install script
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r4 - 2016-02-26
-
TWikiAdminUser
Home
Site map
Main web
Sandbox web
TWiki web
TWiki Web
User registration
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
User Reference
ATasteOfTWiki
TextFormattingRules
TWikiVariables
FormattedSearch
QuerySearch
TWikiDocGraphics
TWikiSkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
InterWikis
ManagingUsers
ManagingWebs
TWikiSiteTools
TWikiPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Account
Log In
E
dit
A
ttach
Copyright © 1999-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback
Note:
Please contribute updates to this topic on TWiki.org at
TWiki:TWiki.LaTeXToMathMLPlugin
.