Texvc (TeX validator and converter) is a program which validates AMSLaTeX math expressions and converts them to HTML, MathML or PNG graphics.

It is used by Phase 3 Wikipedia software to render mathematics (See: Wikipedia:TeX markup). The aim is to allow a single syntax for math markup, whilst allowing a range of output formats to be generated. Texvc is also designed to provide protection against cross-site scripting and other potential security holes.

Texvc provides some extensions to AMSLaTeX - like providing \\codes for HTML math &entities; which have different name in LaTeX.

Texvc rates generated HTML into three classes:

  1. "conservative" - should work and look good in most browsers
  2. "moderate" - should work and look good in reasonably modern browsers
  3. "liberal" - it is HTML, but you're lucky if it works on something else than newest Mozilla, and while it should be legible it might not look very well

MathML support is currently very basic.

Texvc is written in Ocaml, and there's also some PHP code to integrate it with the rest of Wikipedia software.

It uses ImageMagick and Ghostscript to convert LaTeX's output to PNGs.

Sources are available with the rest of Wikipedia from http://wikipedia.sourceforge.net/

Like the rest of Wikipedia Phase 3 software, it is available under terms of GNU GPL.

See also: Wikipedia:TeX requests