The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF images. The filter relies on three binaries to accomplish this for expressions contained between appropriate tokens. Where these binaries are not available, Moodle provides for a fallback through the use of Mimetex. Versions of MimeTex for Linux (glib2.3), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on Mathematics tools for a discussion.)
Note: being based on binaries it requires the availability of three PHP program execution functions: exec
, shell_exec
and system
.
Methods and Usage
To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present, though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX. A number of different builds are included in the Moodle distribution for popular operating systems, though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience.
Before doing anything else, you need to go to Settings > Site administration > Plugins > Filters and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a "front end" to the Tex filter, you should also turn on the Algebra filter. For more information on the Algebra Filter see the Algebra filter.
Once the filter is turned on and properly configured you can make use of it by including a TeX expression delimited by double-dollar signs. Example:
$$ \sqrt{x + y} $$
If this does not display properly, see the information on debugging.
MimeTeX
Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can't properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location.
The MimeTeX manual is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment.
You should only user MimeTeX if installing the full LaTeX system fails or the binaries are not available on your system. The results are not nearly as good.
Site administration settings
Location: TeX Notation settings link in Settings > Site administration > Plugins > Filters > Manage filters
The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found).
Installing the binaries
This depends on your platform, but for a typical install you are going to need a LaTeX implementation. On modern Linux implementations you should look for the 'texlive' package (e.g. apt-get install texlive) although a Windows version is available (see Tex Live). It is highly unlikely that you will have all these binaries as part of a standard install. If you cannot find texlive you may have to install LaTeX, Ghostscript and ImageMagick separately. While not endorsed by Moodle.org, a simple installation binary for Windows is MikTeX.
The filter settings page will try to guess the most likely location for the binary files depending on the detected platform. If correct, green ticks will appear against each setting. If red crosses appear you will need to check and modify the settings as required. A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there.
Some systems supply the fonts as separate packages. If you are having problems make sure you have all the fonts you need installed. You may need to track down an 'extra' fonts package to get the required maths fonts.
LaTeX preamble
Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-latin character sets etc. Please see the LaTeX documentation for further details.
Transparent colour
This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white).
Density
This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered.
Path of latex binary
Path to standard latex binary.
On Unix based systems it is normally "/usr/bin/latex". On a MacOS X, the path is "/usr/texbin/".
In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe
Path of dvips binary
Path to standard dvips binary - generally distributed as part of a LaTeX system.
On Unix based systems it is normally "/usr/bin/dvips". On a MacOS X, the path is "/usr/texbin/".
On Windows using MikTeX is is usually something like C:\texmf\miktex\bin\dvips.exe
Path of convert binary
Path to standard convert binary. This is distributed as part of the Ghostscript system, or ImageMagick in Linux.
On Unix based systems it is normally "/usr/bin/convert". On a MacOS X, the path is "/usr/local/bin/".
On a Windows based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.)
Debugging TeX filter
The TeX filter has a debugging script (which will be much more helpful if you turn moodle debugging on) included that should help if you are having problems. The URL will be as follows...
http://your.moodle.path/filter/tex/texdebug.php
You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. On more recent versions of Moodle you are required to be logged in as an Administrator to access this facility.
See also
- TeX Filter Glossary - a glossary you can add to your course which details usage of the supported TeX notation.
- LaTeX - the LaTeX document preparation system.
- ghostscript - required to render the image
- MimeTeX Manual - Default TeX notation manual
- MikTeX - LaTeX for Windows systems
- ImageMagick - required to render images for Windows
- Using TeX Notation
- Advanced Maths Tools for Moodle 2.x - SEE - The Next Generation of TeX Tools
- Mathematics tools forum on moodle.org