在 Colaboratory 的输出单元格中渲染 LaTeX
Rendering LaTeX in output cells in Colaboratory
我希望单元格像
from IPython.display import display, Math
display(Math(r"e^\alpha"))
像在普通 jupyter 中一样使用 MathJax 进行渲染,
但它只显示乳胶代码,如:
$$e^\alpha$$
有没有办法让 Colaboratory 正确渲染它? (它可以很好地处理文本单元格)。
首先你的问题不正确,应该是"inline"colaboratory没有输出
第二个回答你的问题,只需将菜单栏中的 "Code" 选项更改为 "Markdown" 并在 "In box" 中执行 $= e^\alpha$
或 $$= e^\alpha$$
。
这是例子
colab show latex in mardown
更新:抱歉更新晚了,我在colaboratory notebook上看到了这么大的区别
, 要在其中显示 LaTeX,只需在插入菜单栏中插入 "text cell" 并在输入框
中执行 $$= e^\alpha$$
或 $= e^\alpha$
我不确定这是正确的方法,但它有效:
from IPython.display import Javascript, Math
display(Javascript("var sc = document.createElement('script')"))
display(Javascript("sc.type='text/javascript'; sc.src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/MathJax.js?config=TeX-AMS-MML_HTMLorMML&dummy=.js'"))
display(Javascript("var currentDiv = document.activeElement.parent"))
#display(Javascript("sc.onload = function () {console.log('loaded')};"))
display(Javascript("document.body.insertBefore(sc, currentDiv)"))
display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
display(Math(r"e^\alpha"))
稍微简化 scraaappy 的回答。
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")
它仅包含 MathJax
库,因此可以显示以下方程式。
或使用 built-in output._publish
(2018 年 8 月)
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")
除了 CDN,您还可以使用 Colab 自带的 MathJax。
https://colab.research.google.com/static/mathjax/MathJax.js?config=default
作为临时解决方法,您可以定义自己的方程式渲染函数:
from IPython.display import HTML, Math
def mview(e):
display(HTML("<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/"
"latest.js?config=default'></script>"))
return Math(latex(e))
然后使用如下:
e = Integral(cos(x)**2, (x, 0, pi))
mview(e)
对于那些使用 HandCalc 的人
我最后做了一些不同的事情,但最终解决了这个问题:
from IPython.display import Math
接下来,在您的手算器中:
%%capture texres
%%tex 2
YOUR CODE HERE
然后在下一个单元格中:
Math(texres.stdout[3:-3])
这应该(有点)像在 Jupyterlab 中使用 Handcalc 一样工作
尽情享受吧。
我希望单元格像
from IPython.display import display, Math
display(Math(r"e^\alpha"))
像在普通 jupyter 中一样使用 MathJax 进行渲染, 但它只显示乳胶代码,如:
$$e^\alpha$$
有没有办法让 Colaboratory 正确渲染它? (它可以很好地处理文本单元格)。
首先你的问题不正确,应该是"inline"colaboratory没有输出
第二个回答你的问题,只需将菜单栏中的 "Code" 选项更改为 "Markdown" 并在 "In box" 中执行 $= e^\alpha$
或 $$= e^\alpha$$
。
这是例子 colab show latex in mardown
更新:抱歉更新晚了,我在colaboratory notebook上看到了这么大的区别 , 要在其中显示 LaTeX,只需在插入菜单栏中插入 "text cell" 并在输入框
中执行$$= e^\alpha$$
或 $= e^\alpha$
我不确定这是正确的方法,但它有效:
from IPython.display import Javascript, Math
display(Javascript("var sc = document.createElement('script')"))
display(Javascript("sc.type='text/javascript'; sc.src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/MathJax.js?config=TeX-AMS-MML_HTMLorMML&dummy=.js'"))
display(Javascript("var currentDiv = document.activeElement.parent"))
#display(Javascript("sc.onload = function () {console.log('loaded')};"))
display(Javascript("document.body.insertBefore(sc, currentDiv)"))
display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
display(Math(r"e^\alpha"))
稍微简化 scraaappy 的回答。
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")
它仅包含 MathJax
库,因此可以显示以下方程式。
或使用 built-in output._publish
(2018 年 8 月)
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")
除了 CDN,您还可以使用 Colab 自带的 MathJax。
https://colab.research.google.com/static/mathjax/MathJax.js?config=default
作为临时解决方法,您可以定义自己的方程式渲染函数:
from IPython.display import HTML, Math
def mview(e):
display(HTML("<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/"
"latest.js?config=default'></script>"))
return Math(latex(e))
然后使用如下:
e = Integral(cos(x)**2, (x, 0, pi))
mview(e)
对于那些使用 HandCalc 的人
我最后做了一些不同的事情,但最终解决了这个问题:
from IPython.display import Math
接下来,在您的手算器中:
%%capture texres
%%tex 2
YOUR CODE HERE
然后在下一个单元格中:
Math(texres.stdout[3:-3])
这应该(有点)像在 Jupyterlab 中使用 Handcalc 一样工作
尽情享受吧。