在jupyter笔记本上写下在线数学方程以获得最佳LaTeX结果的最佳方法是什么



当我在jupyter笔记本的markdown单元格中写数学方程时,我随意地把所有这些都放在$…$中。今天,我将一个.ipynb文件转换为.tex,并意识到这些方程中的大多数都被转换为输出pdf中的混乱内容。例如,我意识到它正在将所有的"$"转换为"$"。

这是已经发生的事情的一个例子:

Jupyter笔记本降价:

$ nabla ^{2} f(x) = frac{-1}{(x+1)^{2}} $

特克斯输出:

$ nabla ^{}{2} f(x) = frac{-1}{(x+1)^{2}} $

有人知道为什么会发生这种事吗?有没有更好的方法来写在线数学方程,这样它与LaTeX更兼容?

如果你最终要使用LaTeX版本,minrk在2012年11月8日的评论中阐述了传统的建议:

"目前最好的解决方案是使用"原始"细胞而不是降价,只需按照您的意愿键入LaTeX即可。然后使用nbconvert将ipynb转换为TeX(代码、数字等(,并运行latex将其渲染为PDF等。你不会像使用MathJax/Markdown那样在浏览器中获得实时渲染的TeX,但你在一个文档中仍然有TeX/代码">

您现在转换的步骤可能是在后台使用nbconvert,即使您不是直接使用。(您可能直接使用它,因为您标记了"nbconvert"。(

或者,如果你最终要使用LaTeX,你可能想使用一个代码单元,并在该单元的开头使用LaTeX魔术单元线。请参阅此处和此处了解%%latex细胞魔法。(你会注意到,在我之前提到的StackOverflow线程中也提到了这一点。(关于%%latex细胞的魔力,我建议实际参考这篇文章中示例笔记本中的链接,因为它似乎必须是成熟的LaTeX代码,而不仅仅是在其他地方很容易工作的简单方程,只需将美元符号括起来,即MathJax。

我在你的等式中尝试了这个选项,当我将笔记本输出为LaTeX时,我没有看到添加额外的反斜杠。(然而,我并没有真正尝试渲染LaTeX,因此我无法解决Jupyter添加的所有cruft/样板是否会导致下游可用性出现任何问题。(

最新更新