Description
This plugin allows you to include mathematics in a TWiki page, with a format
very similar to LaTeX. The external program
latex2html
is used to
generate
gif
(or
png
) images from the math markup, and the image is then included in
the page. The first time a particular expression is rendered, you will notice
a lag as
latex2html
is being run on the server. Once rendered, the image is
saved as an attached file for the page, so subsequent viewings will not require
re-renders. When you remove a math expression from a page, its image is
deleted.
Note that this plugin is called
MathModePlugin, not LaTeXPlugin, because
the only piece of LaTeX implemented is rendering of images of mathematics.
Syntax Rules
<latex [attr="value"]* > formula
</latex>
generates an image from the contained
formula
. In addition attribute-value
pairs may
be specified that are passed to the resulting
img
html tag. The only exeptions
are the following attributes which take effect in the latex rendering pipeline:
-
size
: the latex font size; possible values are tiny, scriptsize, footnotesize, small, normalsize, large, Large, LARGE, huge or Huge; defaults to %LATEXFONTSIZE%
-
color
: the foreground color of the formula; defaults to %LATEXFGCOLOR%
-
bgcolor
: the background color; defaults to %LATEXBGCOLOR%
The formula
will be displayed using a
math
latex environment by default. If the formula
contains a latex linebreak (
\\
) then a
multline
environment of amsmath is used instead.
If the formula contains an alignment sequence (
& = &
) then an
eqnarray
environment
is used.
Note that the old notation using
%$formula$%
and
%\[formula\]%
is still supported but are deprecated.
If you might want to recompute the images cached for the current page then append
?refresh=on
to its url,
e.g. click
here to refresh the formulas
in the examples below.
Examples
The following will only display correctly if this plugin is installed and
configured correctly.
<latex title="this is an example">
\int_{-\infty}^\infty e^{-\alpha x^2} dx = \sqrt{\frac{\pi}{\alpha}}
</latex>
\int_{-\infty}^\infty e^{-\alpha x^2} dx = \sqrt{\frac{\pi}{\alpha}}
<latex>
{\cal P} & = & \{f_1, f_2, \ldots, f_m\} \\
{\cal C} & = & \{c_1, c_2, \ldots, c_m\} \\
{\cal N} & = & \{n_1, n_2, \ldots, n_m\}
</latex>
{\cal P} & = & \{f_1, f_2, \ldots, f_m\} \ {\cal C} & = & \{c_1, c_2, \ldots, c_m\} \ {\cal N} & = & \{n_1, n_2, \ldots, n_m\}
<latex title="Calligraphics" color="orange">
\cal
A, B, C, D, E, F, G, H, I, J, K, L, M, \\
\cal
N, O, P, Q, R, S, T, U, V, W, X, Y, Z
</latex>
\cal
A, B, C, D, E, F, G, H, I, J, K, L, M, \ \cal
N, O, P, Q, R, S, T, U, V, W, X, Y, Z
<latex>
\sum_{i_1, i_2, \ldots, i_n} \pi * i + \sigma
</latex>
\sum_{i_1, i_2, \ldots, i_n} \pi * i + \sigma
This is
\cal A new inline test.
Greek letters |
\alpha | \alpha | \theta | \theta |
\beta | \beta | \iota | \iota |
\gamma | \gamma | \kappa | \kappa |
\delta | \delta | \lambda | \lambda |
\epsilon | \epsilon | \mu | \mu |
\zeta | \zeta | \nu | \nu |
\eta | \eta | \xi | \xi |
Plugin Installation Instructions
- Download the ZIP file
- Unzip
MathModePlugin.zip
in your twiki installation directory. Content: File: | Description: |
data/TWiki/MathModePlugin.txt | |
lib/TWiki/Plugins/MathModePlugin/Core.pm | |
lib/TWiki/Plugins/MathModePlugin.pm | |
pub/TWiki/MathModePlugin/latex2img | |
- This plugin makes use of three additional tools that are used to convert latex formulas to images. These are
- Make sure they are installed and check the paths to the programs
latex
, dvipng
and convert
in the latex2img shiped with this plugin
- Edit the file
<path-to-twiki>/pub/TWiki/MathModePlugin/latex2img
accordingly
- (Dakar) Visit
configure
in your TWiki installation, and enable the plugin in the {Plugins} section.
Configuration
There are a set of configuration variables that an be set in different places.
All of the below variables can be set in your
LocalSite.cfg
file like this:
$TWiki::cfg{MathModePlugin}{<Name>} = <value>;
Some of the below variables can
only be set this way, some of the may be
overridden by defining the respective prefrence variable.
Name | Preference Variable | Default |
HashCodeLength | | 32 |
| length of the hash code. If you switch to a different hash function, you will likely have to change this |
ImagePrefix | | '_MathModePlugin_' |
| string to be prepended to any auto-generated image |
ImageType | %LATEXIMAGETYPE% | 'png' |
| extension of the image type; possible values are 'gif' and 'png' |
Latex2Img | | '.../TWiki/MathModePlugin/latex2img' |
| the script to convert a latex formula to an image |
LatexPreamble | %LATEXPREAMBLE% | '\usepackage{latexsym}' |
| latex preamble to include additional packages (e.g. \usepackage{mathptmx} to change the math font) ; note, that the packages amsmath and color are loaded too as they are obligatory |
ScaleFactor | %LATEXSCALEFACTOR% | 1.2 |
| factor to scale images |
LatexFGColor | %LATEXFGCOLOR% | black |
| default text color |
LatexBGColor | %LATEXBGCOLOR% | white |
| default background color |
LatexFontSize | %LATEXFONTSIZE% | normalsize |
| default font size |
Plugin Info
Plugin Author: | TWiki:Main.GraemeLufkin, TWiki:Main.MichaelDaum |
Copyright ©: | 2002 Graeme Lufkin, gwl@u.washington.edu, 2006, MichaelDaum@WikiRing.com |
License: | GPL (GNU General Public License) |
Plugin Version: | 2.94 |
Change History: | |
18 Dec 2006: | only use one bgcolor |
02 Oct 2006: | don't fail on hierarchical webs; backwards compatible tempfile cleanup |
31 Aug 2006: | added NO_PREFS_IN_TOPIC; using xcolor instead of color latex package now to be able to specify colors in html typical codes; default preamble uses latexsym now |
07 Aug 2006: | switched from latex2html to latex+dvipng+convert; added size , color , bgcolor to <latex> tag; rendering pngs by default now; reworked plugin settings; added a latex2img shell script; returning full latex error report |
04 Aug 2006: | major rewrite; fixed security issues by using TWiki's sandbox feature and creating tempfiles properly; added new <latex>...</latex> tag to support multiline formulas; better configurability; better error reporting; fixed issues where images have not been cleaned up regularly; speedup don't clean orphaned images during view but during save ; speedup by adding lazy compilation and initialization; implemented a postRenderingHandler for TWiki V4; prevent auto-generated images stored in pub from being auto-attached using TWiki V4 |
03 Apr 2002: | Initial version |
CPAN Dependencies: | none |
Other Dependencies: | LaTeX, dvipng, ImageMagick |
Perl Version: | 5.8 |
TWiki:Plugins/Benchmark: | GoodStyle nn%, FormattedSearch nn%, MathModePlugin nn% |
Plugin Home: | TWiki:Plugins/MathModePlugin |
Feedback: | TWiki:Plugins/MathModePluginDev |
Appraisal: | TWiki:Plugins/MathModePluginAppraisal |
--
TWiki:Main.GraemeLufkin - 05 Jun 2002
--
TWiki:Main.MichaelDaum - 18 Dec 2006