Difference between revisions of "Enabling math markup"

From Organic Design wiki
(merge from old article which redirects here now)
Line 6: Line 6:
 
{{info|Use this procedure to add math rendering support which is not included in the [[install a new server]] procedure by default as it requires many additional program libraries (about 200MB worth)}}
 
{{info|Use this procedure to add math rendering support which is not included in the [[install a new server]] procedure by default as it requires many additional program libraries (about 200MB worth)}}
  
 +
== Example ==
 +
The following maths code
 +
{{code|<pre><math>
 +
e^x = \sum_{n = 0}^{\infty} {x^n \over n!} = 1 + x + {x^2 \over 2!} + {x^3 \over 3!} + {x^4 \over 4!} + \cdots
 +
</math></pre>}}
 +
 +
Should give the following output
 +
{{code|<math>e^x = \sum_{n = 0}^{\infty} {x^n \over n!} = 1 + x + {x^2 \over 2!} + {x^3 \over 3!} + {x^4 \over 4!} + \cdots</math>}}
 +
 +
== Build the texvc binary ==
 
OCaml 3.06 or later from [http://caml.inria.fr caml.inria.fr] is required to compile ''texvc''
 
OCaml 3.06 or later from [http://caml.inria.fr caml.inria.fr] is required to compile ''texvc''
 
{{code|<pre>
 
{{code|<pre>
Line 13: Line 23:
 
Run ''make'' from within the MediaWiki's ''math'' directory to build the ''texvc'' binary on your system.
 
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.
+
Make sure the directories ''tmp'' and ''math'' under 'images' exist and are writable.
  
 
== LocalSettings.php customization ==
 
== LocalSettings.php customization ==
Line 23: Line 33:
 
</PHP>
 
</PHP>
 
}}
 
}}
 
== See also ==
 
*[http://www.mwusers.com/forums/showthread.php?t=8168&highlight=math Thread on mwusers]
 
*[[:Category:Articles containing maths|Articles containing maths]]
 
*There was a problem extracting the database on 13/11 due to duplicate entries in the math table, see [[13 November 2006]].
 
 
== Example ==
 
The following maths code
 
{{code|<pre><math>
 
e^x = \sum_{n = 0}^{\infty} {x^n \over n!} = 1 + x + {x^2 \over 2!} + {x^3 \over 3!} + {x^4 \over 4!} + \cdots
 
</math></pre>}}
 
 
Should gives the following output
 
{{code|<math>e^x = \sum_{n = 0}^{\infty} {x^n \over n!} = 1 + x + {x^2 \over 2!} + {x^3 \over 3!} + {x^4 \over 4!} + \cdots</math>}}
 
  
 
== Transparency ==
 
== Transparency ==
Line 46: Line 42:
 
     && composite -compose CopyOpacity " ^ finalpath ^ " " ^ finalpath ^ ".png " ^ finalpath
 
     && composite -compose CopyOpacity " ^ finalpath ^ " " ^ finalpath ^ ".png " ^ finalpath
 
</pre>}}
 
</pre>}}
 +
 +
== See also ==
 +
*[http://www.mwusers.com/forums/showthread.php?t=8168&highlight=math Thread on mwusers]
 +
*[[:Category:Articles containing maths|Articles containing maths]]
 +
*There was a problem extracting the database on 13/11 due to duplicate entries in the math table, see [[13 November 2006]].

Revision as of 10:20, 14 January 2009

Procedure.svg Enabling math markup
Organic Design procedure
Info.svg Use this procedure to add math rendering support which is not included in the install a new server procedure by default as it requires many additional program libraries (about 200MB worth)


Example

The following maths code

<math>
e^x = \sum_{n = 0}^{\infty} {x^n \over n!} = 1 + x + {x^2 \over 2!} + {x^3 \over 3!} + {x^4 \over 4!} + \cdots
</math>

Should give the following output

[math]e^x = \sum_{n = 0}^{\infty} {x^n \over n!} = 1 + x + {x^2 \over 2!} + {x^3 \over 3!} + {x^4 \over 4!} + \cdots[/math]

Build the texvc binary

OCaml 3.06 or later from caml.inria.fr is required to compile texvc

apt-get install dvipng tetex-extra cjk-latex ocaml

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.

LocalSettings.php customization

The following lines need to be added;

{{{1}}}

Transparency

I replaced the line defining the ImageMagick convert command in /wiki/math/render.ml which makes it output a transparent PNG and also increases the quality by rendering the vector larger and downsizing with the default Mitchell filter. After making changes to render.ml, you must rebuild the texvc executable by issuing a make clean and make.

let cmd_convert tmpprefix finalpath = "convert -quality 100 -density 480 " \
    ^ tmpprefix ^ ".ps -negate -unsharp 8 -resize 25% " ^ finalpath ^ " >/dev/null 2>/dev/null \
    && convert " ^ finalpath ^ " -fill black -colorize 100% " ^ finalpath ^ ".png \
    && composite -compose CopyOpacity " ^ finalpath ^ " " ^ finalpath ^ ".png " ^ finalpath

See also