commit cfe05db863b895e734d96a68feb09b01080455cf
parent ae48c34e6477425e3693d929c30dfe55dd354f84
Author: physikerwelt (Moritz Schubotz) <wiki@physikerwelt.de>
Date: Fri, 9 Jan 2015 20:27:17 +0100
MediaWiki-texvc support
We add a conversion table that converts MediaWiki specific
markup to standard LaTeX. This approach is more or less
maitenance free, and relies on the existence some special
macros mostly originating from amsmath and amsfonts package.
In the future one could expand the macros with semantic annotation
like for instance that $\\mathbb{R}$ stands for the semantic
concept reals, if it was produced using the texvc macro $\\reals$.
Diffstat:
2 files changed, 200 insertions(+), 0 deletions(-)
diff --git a/test/sample-mediawiki-texvc.html b/test/sample-mediawiki-texvc.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>texvc extension</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+ <script type="text/x-mathjax-config">
+MathJax.Hub.Config({
+ TeX: { extensions: ["mediawiki-texvc.js"] },
+ tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}});
+
+ </script>
+ <script type="text/javascript" src="../MathJax.js?config=TeX-AMS_HTML-full"></script>
+</head>
+<body>
+<ol>
+ <li>alef:$\alef$</li>
+ <li>alefsym:$\alefsym$</li>
+ <li>Alpha:$\Alpha$</li>
+ <li>and:$\and$</li>
+ <li>ang:$\ang$</li>
+ <li>Bbb:$\Bbb x$ (applied to $x$)</li>
+ <li>Beta:$\Beta$</li>
+ <li>bold:$\bold x$ (applied to $x$)</li>
+ <li>bull:$\bull$</li>
+ <li>C:$\C$</li>
+ <li>Chi:$\Chi$</li>
+ <li>clubs:$\clubs$</li>
+ <li>cnums:$\cnums$</li>
+ <li>Complex:$\Complex$</li>
+ <li>Dagger:$\Dagger$</li>
+ <li>darr:$\darr$</li>
+ <li>dArr:$\dArr$</li>
+ <li>Darr:$\Darr$</li>
+ <li>diamonds:$\diamonds$</li>
+ <li>Doteq:$\Doteq$</li>
+ <li>doublecap:$\doublecap$</li>
+ <li>doublecup:$\doublecup$</li>
+ <li>empty:$\empty$</li>
+ <li>Epsilon:$\Epsilon$</li>
+ <li>Eta:$\Eta$</li>
+ <li>exist:$\exist$</li>
+ <li>ge:$\ge$</li>
+ <li>gggtr:$\gggtr$</li>
+ <li>H:$\H$</li>
+ <li>hAar:$\hAar$</li>
+ <li>harr:$\harr$</li>
+ <li>Harr:$\Harr$</li>
+ <li>hearts:$\hearts$</li>
+ <li>image:$\image$</li>
+ <li>infin:$\infin$</li>
+ <li>Iota:$\Iota$</li>
+ <li>isin:$\isin$</li>
+ <li>Kappa:$\Kappa$</li>
+ <li>lang:$\lang$</li>
+ <li>larr:$\larr$</li>
+ <li>Larr:$\Larr$</li>
+ <li>lArr:$\lArr$</li>
+ <li>le:$\le$</li>
+ <li>lrarr:$\lrarr$</li>
+ <li>Lrarr:$\Lrarr$</li>
+ <li>lrArr:$\lrArr$</li>
+ <li>Mu:$\Mu$</li>
+ <li>N:$\N$</li>
+ <li>natnums:$\natnums$</li>
+ <li>ne:$\ne$</li>
+ <li>Nu:$\Nu$</li>
+ <li>O:$\O$</li>
+ <li>omicron:$\omicron$</li>
+ <li>Omicron:$\Omicron$</li>
+ <li>or:$\or$</li>
+ <li>part:$\part$</li>
+ <li>plusmn:$\plusmn$</li>
+ <li>Q:$\Q$</li>
+ <li>R:$\R$</li>
+ <li>rang:$\rang$</li>
+ <li>rarr:$\rarr$</li>
+ <li>Rarr:$\Rarr$</li>
+ <li>rArr:$\rArr$</li>
+ <li>real:$\real$</li>
+ <li>reals:$\reals$</li>
+ <li>Reals:$\Reals$</li>
+ <li>restriction:$\restriction$</li>
+ <li>Rho:$\Rho$</li>
+ <li>sdot:$\sdot$</li>
+ <li>sect:$\sect$</li>
+ <li>spades:$\spades$</li>
+ <li>sub:$\sub$</li>
+ <li>sube:$\sube$</li>
+ <li>supe:$\supe$</li>
+ <li>Tau:$\Tau$</li>
+ <li>thetasym:$\thetasym$</li>
+ <li>uarr:$\uarr$</li>
+ <li>uArr:$\uArr$</li>
+ <li>Uarr:$\Uarr$</li>
+ <li>varcoppa:$\varcoppa$ (reqires <a
+ href="https://github.com/mathjax/MathJax/issues/537">#537</a>)
+ </li>
+ <li>weierp:$\weierp$</li>
+ <li>Z:$\Z$</li>
+ <li>Zeta:$\Zeta$</li>
+</ol>
+</body>
+</html>
diff --git a/unpacked/extensions/TeX/mediawiki-texvc.js b/unpacked/extensions/TeX/mediawiki-texvc.js
@@ -0,0 +1,95 @@
+MathJax.Extension["TeX/mediawiki-texvc"] = {
+ version: "2.5.0"
+};
+
+MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
+ MathJax.InputJax.TeX.Definitions.Add({
+ macros: {
+ alef: ["Macro", "\\aleph"],
+ alefsym: ["Macro", "\\aleph"],
+ Alpha: ["Macro", "\\mathrm{A}"],
+ and: ["Macro", "\\land"],
+ ang: ["Macro", "\\angle"],
+ Bbb: ["Macro", "\\mathbb"],
+ Beta: ["Macro", "\\mathrm{B}"],
+ bold: ["Macro", "\\mathbf"],
+ bull: ["Macro", "\\bullet"],
+ C: ["Macro", "\\mathbb{C}"],
+ Chi: ["Macro", "\\mathrm{X}"],
+ clubs: ["Macro", "\\clubsuit"],
+ cnums: ["Macro", "\\mathbb{C}"],
+ Complex: ["Macro", "\\mathbb{C}"],
+ Dagger: ["Macro", "\\ddagger"],
+ darr: ["Macro", "\\downarrow"],
+ dArr: ["Macro", "\\Downarrow"],
+ Darr: ["Macro", "\\Downarrow"],
+ diamonds: ["Macro", "\\diamondsuit"],
+ Doteq: ["Macro", "\\doteqdot"],
+ doublecap: ["Macro", "\\Cap"],
+ doublecup: ["Macro", "\\Cup"],
+ empty: ["Macro", "\\emptyset"],
+ Epsilon: ["Macro", "\\mathrm{E}"],
+ Eta: ["Macro", "\\mathrm{H}"],
+ exist: ["Macro", "\\exists"],
+ ge: ["Macro", "\\geq"],
+ gggtr: ["Macro", "\\ggg"],
+ H: ["Macro", "\\mathbb{H}"],
+ hAar: ["Macro", "\\Leftrightarrow"],
+ harr: ["Macro", "\\leftrightarrow"],
+ Harr: ["Macro", "\\Leftrightarrow"],
+ hearts: ["Macro", "\\heartsuit"],
+ image: ["Macro", "\\Im"],
+ infin: ["Macro", "\\infty"],
+ Iota: ["Macro", "\\mathrm{I}"],
+ isin: ["Macro", "\\in"],
+ Kappa: ["Macro", "\\mathrm{K}"],
+ lang: ["Macro", "\\langle"],
+ larr: ["Macro", "\\leftarrow"],
+ Larr: ["Macro", "\\Leftarrow"],
+ lArr: ["Macro", "\\Leftarrow"],
+ le: ["Macro", "\\leq"],
+ lrarr: ["Macro", "\\leftrightarrow"],
+ Lrarr: ["Macro", "\\Leftrightarrow"],
+ lrArr: ["Macro", "\\Leftrightarrow"],
+ Mu: ["Macro", "\\mathrm{M}"],
+ N: ["Macro", "\\mathbb{N}"],
+ natnums: ["Macro", "\\mathbb{N}"],
+ ne: ["Macro", "\\neq"],
+ Nu: ["Macro", "\\mathrm{N}"],
+ O: ["Macro", "\\emptyset"],
+ omicron: ["Macro", "\\mathrm{o}"],
+ Omicron: ["Macro", "\\mathrm{O}"],
+ or: ["Macro", "\\lor"],
+ part: ["Macro", "\\partial"],
+ plusmn: ["Macro", "\\pm"],
+ Q: ["Macro", "\\mathbb{Q}"],
+ R: ["Macro", "\\mathbb{R}"],
+ rang: ["Macro", "\\rangle"],
+ rarr: ["Macro", "\\rightarrow"],
+ Rarr: ["Macro", "\\Rightarrow"],
+ rArr: ["Macro", "\\Rightarrow"],
+ real: ["Macro", "\\Re"],
+ reals: ["Macro", "\\mathbb{R}"],
+ Reals: ["Macro", "\\mathbb{R}"],
+ restriction: ["Macro", "\\upharpoonright"],
+ Rho: ["Macro", "\\mathrm{P}"],
+ sdot: ["Macro", "\\cdot"],
+ sect: ["Macro", "\\S"],
+ spades: ["Macro", "\\spadesuit"],
+ sub: ["Macro", "\\subset"],
+ sube: ["Macro", "\\subseteq"],
+ supe: ["Macro", "\\supseteq"],
+ Tau: ["Macro", "\\mathrm{T}"],
+ thetasym: ["Macro", "\\vartheta"],
+ uarr: ["Macro", "\\uparrow"],
+ uArr: ["Macro", "\\Uparrow"],
+ Uarr: ["Macro", "\\Uparrow"],
+ varcoppa: ["Macro", "\\mbox{\\coppa}"],
+ weierp: ["Macro", "\\wp"],
+ Z: ["Macro", "\\mathbb{Z}"],
+ Zeta: ["Macro", "\\mathrm{Z}"]
+ }
+ });
+});
+
+MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mediawiki-texvc.js");
+\ No newline at end of file