Search code examples
latexjupytermathjaxgoogle-colaboratory

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).


Solution

  • 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