如何在IPython Notebook中显示LaTeX代码?


当前回答

Since, I was not able to use all the latex commands in Code even after using the %%latex keyword or the $..$ limiter, I installed the nbextensions through which I could use the latex commands in Markdown. After following the instructions here: https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/README.md and then restarting the Jupyter and then localhost:8888/nbextensions and then activating "Latex Environment for Jupyter", I could run many Latex commands. Examples are here: https://rawgit.com/jfbercher/latex_envs/master/doc/latex_env_doc.html

\section{First section}
\textbf{Hello}
$
\begin{equation} 
c = \sqrt{a^2 + b^2}
\end{equation}
$
\begin{itemize}
\item First item
\item Second item
\end{itemize}
\textbf{World}

如你所见,我仍然无法使用uspackage。但也许将来会有所改进。

其他回答

如果您的主要目标是做数学运算,那么SymPy提供了一种很好的方法来实现看起来很棒的函数乳胶表达式。

我正在使用Jupyter笔记本电脑。 我必须写

%%latex
$sin(x)/x$

来获得LaTex字体。

minrk给出的答案(包括完整性)很好,但还有另一种方式我更喜欢。

通过在文本单元格中键入%% LaTeX作为第一行,还可以将整个单元格呈现为LaTeX。这很有用,如果你

想要更多的控制, 想要的不仅仅是数学环境, 或者如果你要在一个格子里写很多数学。

minrk的回答是:


IPython笔记本使用MathJax进行渲染 html/markdown中的LaTeX。只要把你的LaTeX数学放在$$中。 $$c = \√{a^2 + b^2}$$ 或者你也可以从Python中显示LaTeX / Math输出,如图所示 笔记本的结尾 旅游: IPython。display导入display, Math, Latex 显示器(数学(r 'F (k) = \ int_ {- \ infty} ^ {\ infty} f (x) e ^{2 \πk} dx '))

如果希望从笔记本代码单元中显示LaTeX方程,可以创建一个简单的包装器类,利用Jupyter笔记本丰富的显示表示。这个类应该有一个_repr_latex_方法(注意在开始和结束处有一个下划线,而不是其他特殊方法的双下划线)来输出LaTeX字符串。例如:

class LaTeXEquation:
    def __init__(self, eqntext):
        self.eqntext = eqntext

    def __repr__(self):
        return repr(self.eqntext)

    def _repr_latex_(self):
        """
        Special method for rich display of LaTeX formula.
        """

        # add $'s at start and end if not present
        if self.eqntext.strip()[0] != "$" and self.eqntext.strip()[-1] != "$":
            return "$" + self.eqntext + "$"
        else:
            return self.eqntext

myeqn = "x = y^2"

然后在代码单元格中,如果你这样做,例如,

LaTeXEquation(myeqn)

它将显示格式化的方程式。

在Markdown单元格中直接使用LaTeX语法适合我。我使用Jypiter 4.4.0。

我不需要使用%%latex魔术命令,我坚持,只是一个markdown单元格:

\begin{align}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0
\end{align}

呈现: