Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rendering LaTeX in output cells in Colaboratory

I expect a cell like

from IPython.display import display, Math
display(Math(r"e^\alpha"))

to render with MathJax as it does in normal jupyter, but instead it just displays latex code like:

$$e^\alpha$$

Is there a way to get Colaboratory to render it correctly? (It manages it fine for text cells).

like image 808
Sean D Avatar asked Dec 10 '22 07:12

Sean D


1 Answers

Simplify scraaappy's answer a bit.

from IPython.display import HTML, Math
display(HTML("<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/"
             "latest.js?config=default'></script>"))
Math(r"e^\alpha")

It just includes MathJax library so the following equations can be displayed.

Or use the built-in output._publish (Aug 2018)

from IPython.display import Math
from google.colab.output._publish import javascript
url = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/latest.js?config=default"

javascript(url=url)
Math(r"e^\alpha")

Instead of CDN, you can also use MathJax that comes with Colab. https://colab.research.google.com/static/mathjax/MathJax.js?config=default

like image 89
korakot Avatar answered Jan 01 '23 10:01

korakot