Feature Request for Note: LaTeX math formula support via KaTeX
In this version Zotero 5.0.22, the Note can not display math formula in LaTeX syntax.
I am wondering if Note can support LaTeX syntax for math formula via KaTeX.
For example, automatically include KaTeX in Note from CDN via:
Does this possible to be supported in Note?
Many thanks for the great efforts that have been and still being put in developing a better Zotero.
I am wondering if Note can support LaTeX syntax for math formula via KaTeX.
For example, automatically include KaTeX in Note from CDN via:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0-alpha/katex.min.css" integrity="sha384-FkMHIpkXHDi3o2XSOOa5/9TpXg4AX4DXPSC6z28hi2Eqn/27ea8MTV18rTq9OyQR" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0-alpha/katex.min.js" integrity="sha384-wt0V9VomB0kx/jgLEkR18Slo+aNALuRwOOrWkicjQ0HHpFqu0JKzaFkbtmsku5a/" crossorigin="anonymous"></script>Does this possible to be supported in Note?
Many thanks for the great efforts that have been and still being put in developing a better Zotero.
This is an old discussion that has not been active in a long time. Before commenting here, you should strongly consider starting a new discussion instead. If you think the content of this discussion is still relevant, you can link to it from your new discussion.
Upgrade Storage
KaTeX and its usage can be found at: https://github.com/Khan/KaTeX#user-content-usage
If we supported anything, I suspect it would be MathJax, which as I understand it supports a variety of input formats (including LaTeX), not KaTeX.
> Here is a performance comparison between render "KaTeX" and "MathJax": https://www.intmath.com/cg5/katex-mathjax-comparison.php
* It seems that "KaTeX" has a much superior performance than "MathJax".
* But I do not know if "KaTeX" has a larger support set of LaTeX syntax than "MathJax".
> I found that note editor is supported via TinyMCE(https://www.tinymce.com/), so I have raised a "feature request" at github project of TinyMCE(https://github.com/tinymce/tinymce/issues/3997) 2 days ago.
It may contain some information that could be useful, for example, Georg-Git has given a possible solution to make tinymce support LaTeX syntax via "KaTeX".
I tried to integrate the js script mentioned in the github issue raised by @fylimas [http://fiddle.tinymce.com/ncgaab/1] but without success.
Here is what I did:
- download the katex support files (.js and .css) and save them inside zotero.jar\resource\tinymce
- edit zotero.jar\resource\tinymce\note.html (you can see the modified version here: https://pastebin.com/wmNPmMnB - search for katex to locate all the edits)
- create a note with latex formatted formula:
<p>Formula inline in text <span class="tinymcekatex" style="background: #eeeeff;">c = \sum_{n=1}^{\infty} \pm \sqrt[3]{(a^2 + b^3)^n}</span> and in display style:</p>
<p> </p>
<p><span class="tinymcekatex" style="background: #eeeeff;">c = \displaystyle\sum_{n=1}^{\infty} \pm \sqrt[3]{(a^2 + b^3)^n} + \prod_{i=a}^{b} f(i)</span></p>
<p> </p>
<p><span class="tinymcekatex" style="background: #eeeeff;">f(x) = \displaystyle\int_{-\infty}^\infty \hat f(\xi)\,e^{2 \pi i \xi x} \,d\xi + \lim_{h \rightarrow 0 } \frac{f(x+h)-f(x)}{h}</span></p>
<p> </p>
But what I did, doesn't work.
I noticed that the script use a kind of reload strategy so I added the command in the context menu [for simplicity I added it under alignement - and kept the justify icon but this will be improved if there is a solution to make this script works].
I am not good at .js so I am probably missing something obvious here. Is what I am doing the good way to go to add Latex formatted formula in my zotero note? If not, which direction should I follow? Is there even hope for a latex math formula support?
Thanks a lot for your help!
I hope @danstillman or another Zotero developer will be able to help us, because using formulas in notes would really be great!
@danstillman, that would be great if this katex_for_zotero plugin could be integrated into Zotero core (I created a pull request for this on github).