Skip to content

Instantly share code, notes, and snippets.

@heyarne
Created January 24, 2022 12:12
Show Gist options
  • Save heyarne/07759243d72e89dc0ab6e4ccab9e41f9 to your computer and use it in GitHub Desktop.
Save heyarne/07759243d72e89dc0ab6e4ccab9e41f9 to your computer and use it in GitHub Desktop.
Mathml Test Suite for mathml2latex
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Mathvariant Test</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css" integrity="sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ" crossorigin="anonymous">
<style>
body, html {
padding: 0;
margin: 0;
font-family: sans-serif;
}
td {
padding: 1em;
}
thead {
font-weight: bold
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<td>Mathml</td>
<td>Native Rendering</td>
<td>With <code>mathml2latex</code></td>
</tr>
</thead>
<tbody>
</tbody>
</table>
<template id="rows">
<tr>
<td class="code"><pre></pre></td>
<td class="native"></td>
<td class="converted"></td>
</tr>
</template>
</body>
<script>
window.WebFontConfig = {
custom: {
families: ['KaTeX_AMS', 'KaTeX_Caligraphic:n4,n7', 'KaTeX_Fraktur:n4,n7',
'KaTeX_Main:n4,n7,i4,i7', 'KaTeX_Math:i4,i7', 'KaTeX_Script',
'KaTeX_SansSerif:n4,n7,i4', 'KaTeX_Size1', 'KaTeX_Size2', 'KaTeX_Size3',
'KaTeX_Size4', 'KaTeX_Typewriter'],
},
};
</script>
<script src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js" integrity="sha384-VQ8d8WVFw0yHhCk5E8I86oOhv48xLpnDZx5T9GogA/Y84DcCKWXDmSDfn13bzFZY" crossorigin="anonymous"></script>
<script src="mathml2latex.browser.umd.js"></script>
<script>
const samples = [
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="double-struck">0123456789</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="double-struck">ABCDEFGHIJKLMNOPQRSTUVWXYZ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="double-struck">abcdefghijklmnopqrstuvwxyz</mi>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="bold-fraktur">ABCDEFGHIJKLMNOPQRSTUVWXYZ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="bold-fraktur">abcdefghijklmnopqrstuvwxyz</mi>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="fraktur">ABCDEFGHIJKLMNOPQRSTUVWXYZ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="fraktur">abcdefghijklmnopqrstuvwxyz</mi>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="monospace">0123456789</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="monospace">ABCDEFGHIJKLMNOPQRSTUVWXYZ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="monospace">abcdefghijklmnopqrstuvwxyz</mi>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="sans-serif-bold-italic">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-bold-italic">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-bold-italic">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-bold-italic">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-bold-italic">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-bold-italic">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-bold-italic">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="sans-serif-bold-italic">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="bold-sans-serif">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="bold-sans-serif">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="bold-sans-serif">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="bold-sans-serif">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="bold-sans-serif">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="bold-sans-serif">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="bold-sans-serif">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="bold-sans-serif">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="sans-serif-italic">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-italic">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-italic">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-italic">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-italic">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-italic">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif-italic">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="sans-serif-italic">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="sans-serif">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="sans-serif">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="sans-serif">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="bold-script">ABCDEFGHIJKLMNOPQRSTUVWXYZ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="bold-script">abcdefghijklmnopqrstuvwxyz</mi>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="script">ABCDEFGHIJKLMNOPQRSTUVWXYZ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="script">abcdefghijklmnopqrstuvwxyz</mi>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="serif-bold-italic">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold-italic">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold-italic">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold-italic">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold-italic">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold-italic">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold-italic">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="serif-bold-italic">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="serif-bold">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-bold">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="serif-bold">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="serif-italic">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="serif-italic">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="serif-italic">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="serif-italic">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="serif-italic">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
`
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mtable columnalign="left">
<mtr>
<mtd>
<mi mathvariant="normal">!"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="normal">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="normal">\`abcdefghijklmnopqrstuvwxyz{|}~</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="normal">ıȷ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="normal">ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="normal">αβγδεζηθικλμνξοπρςστυφχψω∂</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi mathvariant="normal">ϵϑϰϕϱϖϜϝ</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo mathvariant="normal">±·×÷‘’“”•−∓∕∗∙≠≤≥⋅</mo>
</mtd>
</mtr>
</mtable>
</math>
`,
]
const tbody = document.querySelector('tbody')
for (let sample of samples) {
const template = document.querySelector('#rows').content.cloneNode(true)
template.querySelector('td:nth-child(1) pre').appendChild(document.createTextNode(sample))
template.querySelector('td:nth-child(2)').innerHTML = sample
try {
template.querySelector('td:nth-child(3)').innerHTML = katex.renderToString(MathML2LaTeX.convert(sample), { throwOnError: false })
} catch (_) {}
tbody.appendChild(template)
}
</script>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment