# Difference between revisions of "Algebra filter"

Colin Fraser (talk | contribs) |
Colin Fraser (talk | contribs) (→Generally) |
||

Line 16: | Line 16: | ||

While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its "grammar" or "syntax". Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second): | While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its "grammar" or "syntax". Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second): | ||

− | * http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html | + | * http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html (no longer available.) |

− | * http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK | + | * http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK (the connection is not clear.) |

See http://moodle.org/mod/forum/discuss.php?d=126522&parent=554632. | See http://moodle.org/mod/forum/discuss.php?d=126522&parent=554632. |

## Revision as of 11:13, 3 January 2014

*This page really needs improving.* Please see the page comments for suggestions of what to include, then remove this template when you're done.

**NOTE:** While the Algebra filter is included in later versions of Moodle, a more effective way of writing mathematical notation is by using the TeX notation filter.

## Generally

Moodle has an "algebra filter" which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it.

**NOTE:** the use of the algebra filter **REQUIRES** that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display. The filter uses a borrowed perl script

The filter (see http://cvs.moodle.org/moodle/filter/algebra/ ) uses algebra2tex.pl, a perl script (and its associated perl module, AlgParser.pm) to parse text expressions delimited by double@ signs as tokens (though the tokens employed can be tweaked manually.)

NOTE perl script REQUIRES **Perl**. This is no problem with most Linux servers, but may be the cause for malfunctions in the Win world like broken connections. Exceptions / failures are NOT catched and reported via this Moodle filter.
If there is no Perl available, activate Moodle Tex (as mentioned above) and use the JAVA Math Formula Editor. It is available after activating Tex. Minor corrections in the resulting Tex code dont need deeper digging in Tex fundamentals.

While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its "grammar" or "syntax". Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second):

- http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html (no longer available.)
- http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK (the connection is not clear.)

See http://moodle.org/mod/forum/discuss.php?d=126522&parent=554632.

There is a discussion of Algebra filter syntax at http://moodle.org/mod/forum/discuss.php?d=5402 offered by Zbigniew Fiedorowicz.

It appears that as of Moodle.org moving to Moodle 2 (late 2010) the Algebra filter in the forums is no longer working. It also appears that the Algebra filter does not work in Moodle Docs (which is not Moodle code, but MediaWiki, which I don't believe has a ready filter based on algebra2tex.pl.

## Troubleshooting

The file algebradebug.php is provided in the filter folder for the purpose of debugging. Problems may arise comes from the first tags in algebradebug.php

define('NO_MOODLE_COOKIES', true); // Because it interferes with caching

You can delete the line or set it to false.