Support MathJax Extensions

Use case or problem

Some LaTeX symbols are not supported by default in MathJax but are available in extensions. Some of these symbols are also quite common in engineering fields such as double and triple integrals over closed surfaces, e.g. \oiint and \oiiint. Moreover, there is no way to currently draw diagrams in LaTeX because TikZ is not supported by Obsidian.

Proposed solution

Make it so that the user can add and enable extensions to support missing symbols and add packages. I am not familiar enough with the MathJax ecosystem to provide further guidelines, though, so if someone has any ideas, now would be a good time to leave a reply. :slight_smile:

Alternatively, just implement a larger portion of the MathJax extensions.

Current workaround (optional)

Use unicode symbols which look ugly and cannot scale appropriately. However, some symbols do not have unicode equivalents and there is no alternative for packages like TikZ.

2 Likes

According to previous answer by WhiteNoise, MathJax extensions can be already added using the plugin API.

Currently you can get mhchem and bussproofs extensions using Extended MathJax community plugin. Using the same plugin you can use this preamble to get \oiint and \oiiint:

\newcommand{\oiint}{{\subset\!\supset} \mathllap{\iint}}
\newcommand{\oiiint}{{\Large{\subset\!\supset}} \mathllap{\iiint}}

Such hacks render incorrectly in inline mode.