Difference between revisions of "Enabling math markup"
(→Nginx: update) |
(legacy) |
||
Line 1: | Line 1: | ||
− | {{ | + | {{legacy}}{{info|We've always used Latex for this, but the installation can be complicated and it requires over a GB (yes a Gigabyte!) of packages to be installed that we don't use for anything else. But now client side rendering is possible, or server-side via the new Mathoid node.js service both of which are vastly preferable. See [[MW:Extension:Math]] for more detail about installation options. For a fully client-side rendering solution with no server-side installation at all use the settings shown in [[install a new server]].}}{{procedure}} |
− | {{info| | ||
As of MediaWiki version 1.18 the math rendering has been put into the [[MW:Extension:Math|Math extension]]. See [[MW:Manual:Math]] for more details. To download the latest version of the extensions, use: | As of MediaWiki version 1.18 the math rendering has been put into the [[MW:Extension:Math|Math extension]]. See [[MW:Manual:Math]] for more details. To download the latest version of the extensions, use: |
Revision as of 11:51, 8 May 2015
Enabling math markup Organic Design procedure |
As of MediaWiki version 1.18 the math rendering has been put into the Math extension. See MW:Manual:Math for more details. To download the latest version of the extensions, use:
Note that as of MediaWiki 1.19, the extension repository has become out of sync with the codebase and a specific version needs to be used which you can download from [1].
Build the texvc binary
Enabling math markup requires latex, dvips, gs, and convert. OCaml 3.06 or later from caml.inria.fr is required to compile texvc. On Debian-based systems the requirements can be installed with the following packages:
- Run make from within the MediaWiki's math directory to build the texvc binary on your system.
- Make sure the directories tmp and math under 'images' exist and are writable.
- Note: on Debian 7 we also required the texlive-latex-extra package.
Example
The following maths code:
Should give the following output:
Nginx
After we changed over from Apache to Nginx I spent many hours trying to figure out why the texvc binary wouldn't produce the PNG file. The binary was being executed properly by shell_exec in MathTexvc.php, but for some reason would not build the image.
I couldn't find anything logged about a problem anywhere, and there were no differences in PHP configuration that I could find. I tried adjusting render.ml to leave the temporary files so I could analyse those (by removing the lines deleting then from the unlink_all function then running name clean and make to rebuild the texvc binary, but it wouldn't produce any of the files except the .tex one.
The only working solution I could come up with was to run the texvc as root using sudo by changing line 123 of MathTexvc.php as follows:
To allow the web-server to have sudo access without compromising security the following line can be added to the sudoers file using visudo.
Update: On my most recent server installation, math wasn't rendering, and the server was delivering messages about a security problem whenever math formulas tried to render. I didn't need to modify any files, as texvc was already being called as root, so I just added the binary path to the sudoers file and it worked.
See also
- MW:Manual:Math
- MW:Extension:Math
- MW:Manual:Enable TeX
- MW:Manual:Running MediaWiki on Debian GNU/Linux#TeX_Support
- MW:Manual:Troubleshooting math display errors
- There was a problem extracting the database on 13/11 due to duplicate entries in the math table, see 13 November 2006.