# Difference between revisions of "TeX notation filter"

Note: You are currently viewing documentation for Moodle 3.1. Up-to-date documentation for the latest stable version of Moodle is probably available here: TeX notation filter.

Location: TeX Notation settings link in Administration > Modules > Filters > Manage filters

The TeX Filter converts TeX code into GIF images. It uses a binary program(s) on the server to render the images (either the full LaTeX implementation, in Moodle 1.6 or later, or the MimeTeX binary that ships with Moodle for various platforms). Versions of MimeTex for Linux (glib2.3), Windows, Mac OS X and FreeBSD are included in the Moodle distribution.

No additional software or plugins are required on the client computers to display the images.

### Introduction - A Tale of Two Filters

To avoid confusion you should note that on all newer versions of Moodle, 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 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 - that is included with Moodle. A number of different builds are included for popular operating systems.

### Usage

To use the filter the resource should include a TeX expression delimited by double-dollar signs. Example:

   $$\sqrt{x + y}$$


### Using MimeTeX

MimeTeX is a number of pre-built binaries that are included in the Moodle standard distribution and are located in the filters/tex directory. 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. This appears to be particularly problematic on the Windows platform. See the Mathematical Tools Forum for more information.

If you are using the windows installer package, type something like this into the box called 'path of latex binary'

"C:\Moodle_webserver\moodle\filter\tex\mimetex.exe"


Where you replace 'Moodle_webserver' with the real path to your moodle install. Note that on windows, the red x to the right of the input box will never go away, even when the details are correct.

If you use TeX in a GIFT question import file you must escape { } and = (even # and ~) with a \ before each symbol.

### Improvements in 1.6

Moodle 1.6 adds the ability to use the full TeX formatting facilities (MimeTex only provides a subset). Three external binaries are used to render the images which may need setting up for your system. The filter will first check for a LaTeX renderer (Ghostscript is also required for this method, ImageMagick in the case of Linux) and failing that will use the simpler MimeTeX binary included in the Moodle distribution. LaTex permits the whole range of syntax, whereas MimeTeX only supports a mathematical subset.

### Settings Page

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. Later 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 Linux install you are going to need a latex implementation (e.g. tetex) and the convert binary (e.g, from ImageMagick). A typical command - in this case for Ubuntu - that installs everything you need would look something like:

   apt-get install tetex-base tetex-bin tetex-extra imagemagick


You may need to experiment a bit (for example, ImageMagick doesn't seem to work properly on Solaris gut Ghostscript does). If you find the combination that works for your system kindly add the info to this page!

#### 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.

#### Path of latex binary

Path to standard latex binary.

On a MacOS X, the path is "/usr/texbin/".

#### Path of dvips binary

Path to standard dvips binary - generally distributed as part of a LaTeX system.

On a MacOS X, the path is "/usr/texbin/".

#### Path of convert binary

Path to standard convert binary. This is distributed as part of the Ghostscript system, or ImageMagick in Linux.

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.

On a MacOS X, the path is "/usr/local/bin/".

### Debugging TeX filter

The TeX filter has a debugging script 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. There are a number of options and suggestions to facilitate debugging the filter. Note that options for the latex/ghostscript versions are only provided from Moodle version 1.8.3.

### Mimetex on Debian based systems

For some reason, the mimetex file that comes with Moodle doesn't work on Debian based systems (like Debian, Ubuntu, ...). What works is installing Mimetex and Ghostscript on your server as Debian package (needs to be executed as root):

apt-get install tetex-extra mimetex gs


Move your old mimetex file away

mv /var/www/moodle/filter/tex/mimetex.linux /var/www/moodle/filter/tex/mimetex.linux.old


Make a symbolic link to the mimetex file, installed by the debian installer

ln -s /usr/bin/mimetex /var/www/moodle/filter/tex/mimetex.linux