mhchemparser

Parser to convert mhchem syntax to LaTeX syntax, for downstream inclusion in MathJax, KaTeX and similar projects.

Usage no npm install needed!

<script type="module">
  import mhchemparser from 'https://cdn.skypack.dev/mhchemparser';
</script>

README

mhchem Parser

mhchem is an input syntax for typesetting chemical equations and physical units.

This is the parser to convert mhchem syntax to LaTeX syntax, for downstream inclusion in MathJax, KaTeX and similar projects.

Usage

Users of MathJax and KaTex can write

\ce{CO2 + C -> 2 CO}
\pu{123 kJ*mol-1}

For a hundred more features and how to configure MathJax or KaTeX, see the manual.

Usage for Downstream Software

For "translating" the \ce syntax, make a call like

mhchemParser.toTex("CO2 + C -> 2 CO", "ce");

This will return

"{\mathrm{CO}{\vphantom{A}}_{\smash[t]{2}} {}+{} \mathrm{C} {}\mathrel{\longrightarrow}{} 2\,\mathrm{CO}}"

For the \pu command, call

mhchemParser.toTex("123 kJ*mol-1", "pu");

You could also insert a TeX string. All instances of \ce and \pu will be replaced in the returned value. This might make integration easier, because the mhchem parser does not need to be called from the TeX parser.

mhchemParser.toTex("m_{\\ce{H2O}}", "tex");