Localisation updates for core and extension messages from translatewiki.net (2010...
[lhc/web/wiklou.git] / math / README
index ea49c8e..d0e2164 100644 (file)
@@ -1,42 +1,45 @@
 == About texvc ==
 
-texvc takes LaTeX-compatible equations and produces formatted output in
-HTML, MathML, and (via LaTeX/dvips/ImageMagick) rasterized PNG images.
-Input data is parsed and scrutinized for safety, and the output includes
-an estimate of whether the code is simple enough that HTML rendering will
-look acceptable.
+texvc takes LaTeX-compatible equations and produces formatted output in HTML,
+MathML, and (via LaTeX/dvipng) rasterized PNG images.
+Input data is parsed and scrutinized for safety, and the output includes an
+estimate of whether the code is simple enough that HTML rendering will look
+acceptable.
 
-The program was written by Tomasz Wegrzanowski for use with MediaWiki;
-it's included as part of the MediaWiki package (http://wikipedia.sf.net)
-and is under the GPL license.
+The program was written by Tomasz Wegrzanowski for use with MediaWiki; it's
+included as part of the MediaWiki package (http://www.mediawiki.org) and is
+under the GPL license.
 
-Please report bugs at:
-http://sourceforge.net/tracker/?group_id=34373&atid=411192
+Please report bugs at: https://bugzilla.wikimedia.org/
+with "MediaWiki extensions" as product and "texvc" as component.
 
 == Setup ==
 
 === Requirements ===
 
-OCaml 3.06 or later is required to compile texvc; this can be acquired
-from http://caml.inria.fr/ if your system doesn't have it available.
+OCaml 3.06 or later is required to compile texvc; this can be acquired from
+http://caml.inria.fr/ if your system doesn't have it available.
 
 The makefile requires GNU make.
 
-Rasterization is done via LaTeX, dvips, and ImageMagick. These need
-to be installed and in the PATH: latex, dvips, convert
+Rasterization is done via LaTeX, dvipng. These need to be installed and in
+the PATH: latex, dvipng
 
-To work properly with rendering non-ASCII Unicode characters, a
-supplemental TeX package is needed (cjk-latex in Debian)
+AMS* packages for LaTeX also need to be installed. Without AMS* some equations
+will render correctly while others won't render. Most distributions of TeX
+already contain AMS*. In Debian/Ubuntu you need to install tetex-extra.
+
+To work properly with rendering non-ASCII Unicode characters, a supplemental TeX
+package is needed (cjk-latex in Debian)
 
 === Installation ===
 
 Run 'make' (or 'gmake' if GNU make is not your default make). This should
 produce the texvc executable.
 
-If you're using MediaWiki's install.php and have enabled $wgUseTeX in your
-LocalSettings.php, the installer will try to copy texvc into place, in the
-'math' subdirectory under where wiki.phtml is installed.
-
+Then you'll need to set $wgUseTeX to true in your LocalSettings.php. By default,
+MediaWiki will search in this directory for texvc, if you moved it elsewhere,
+you'll have to modify $wgTexvc and set it to the path of the texvc executable.
 
 == Usage ==
 
@@ -45,13 +48,13 @@ Just Works. It can be run manually for testing or for use in another app.
 
 === Command-line parameters ===
 
-    texvc <temp directory> <output directory> <TeX code> <encoding>
+    texvc <temp directory> <output directory> <TeX code> <encoding> <color>
 
 Be sure to properly quote the TeX code!
 
 Example:
 
-    texvc /home/wiki/tmp /home/wiki/math "y=x+2" iso-8859-1
+    texvc /home/wiki/tmp /home/wiki/math "y=x+2" iso-8859-1 "rgb 1.0 1.0 1.0"
 
 === Output format ===
 
@@ -93,5 +96,24 @@ Ensure that the temporary and math directories exist and can be written to by
 the user account the web server runs under; if you don't control the server,
 you may have to make them world-writable.
 
-...
-
+If some equations render correctly while others don't, you probably don't have
+AMS* packages for LaTeX installed. Most distributions of TeX come with AMS*.
+In Debian/Ubuntu AMS* is in tetex-extra package.
+To check if that is the problem you can try those two equations:
+    x + y
+    x \implies y
+The first uses only standard LaTeX, while the second uses symbol \implies from AMS*.
+If the first renders, but the second doesn't, you need to install AMS*.
+
+== Hacking ==
+
+Before you start hacking on the math package its good to know the workflow,
+which is basically:
+
+1. texvc gets called by includes/Math.php (check out the line begining with "$cmd")
+2. texvc does its magic, which is basically to check for invalid latex code.
+3. texvc takes the user input if valid and creates a latex file containing it, see
+   get_preface in texutil.ml
+4. dvipng(1) gets called to create a .png file
+   See render.ml for this process (commenting out the removal of
+   the temporary file is useful for debugging).