如何写IPython的笔记本LaTeX的?(How to write LaTeX in IPytho

2019-06-18 19:10发布

我怎样才能在一个IPython的笔记本电脑显示器的LaTeX代码?

Answer 1:

这在搜索我只是在做上来,发现了一些搜索一个更好的解决方案,IPython的笔记本电脑现在有一个%%latex魔力,使得整个小区乳胶无$$包装的每一行。

请参阅笔记本游丰富的显示系统



Answer 2:

IPython的笔记本采用了MathJax渲染HTML /减价内乳胶。 只要把你的LaTeX数学里面$$

$$c = \sqrt{a^2 + b^2}$$

或者你也可以显示来自Python的胶乳/数学输出,作为对年底看到笔记本电脑之旅 :

from IPython.display import display, Math, Latex
display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))



Answer 3:

LaTeX参考:

Udacity的博客有最好乳胶底漆,我已经看到了:它清楚地展示了如何使用LaTeX命令在易读,易记的方式! 强烈推荐

此链接有极好的例子显示两个密码,并将渲染结果!
您可以使用该网站很快学会通过实例来写LaTeX的。

而且,这里是一个快速的乳胶参考命令/符号。


总结:不同的方式来指示Jupyter / IPython的乳胶:

实例为减价细胞:

内联,包裹在: $

The equation used depends on whether the the value of  
$V​max​​$ is R, G, or B.  

块,包装在: $$

$$H←  ​​​​​0 ​+​ \frac{​​30(G−B)​​}{Vmax−Vmin}  ​​, if V​max​​ = R$$

块,包装在: \begin{equation}\end{equation}

\begin{equation}
H← ​​​60 ​+​ \frac{​​30(B−R)​​}{Vmax−Vmin}  ​​, if V​max​​ = G
\end{equation}

块,包装在: \begin{align}\end{align}

\begin{align}
H←120 ​+​ \frac{​​30(R−G)​​}{Vmax−Vmin}  ​​, if V​max​​ = B
\end{align}

例如用于码单元:

LaTex的细胞: %%latex魔命令将整个细胞乳胶细胞

%%latex
\begin{align}
\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}

数学对象传递一个生胶乳字符串

from IPython.display import Math
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')

乳胶类 。 注意:你必须自己包括分隔符。 这使您可以使用其他的LaTeX模式,如eqnarray

from IPython.display import Latex
Latex(r"""\begin{eqnarray}
\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{eqnarray}""")

Google文档的原始细胞:

(对不起,这里没有例子,只是文档)

原始细胞原始细胞提供,你可以直接写输出的地方。 原始细胞不被笔记本评估。 当穿过nbconvert ,原始细胞到达目的地的格式修改。 例如,这允许您键入全乳胶为原始细胞 ,将仅由胶乳转换后呈现nbconvert

其他文档:

对于降价细胞,转引自Jupyter笔记本文档 :

在降价的细胞,还可以包括一个简单的数学方法,使用标准胶乳符号:$ ... $用于在线数学$$ ... $$所显示的数学 。 当执行降价细胞,胶乳部分在HTML输出自动呈现为高品质的排版方程。 这是通过MathJax,它支持胶乳功能的大的子集成为可能

由胶乳和AMS-胶乳(amsmath封装)定义的标准数学环境下也工作,如\ {开始方程} ... \ {端方程},\ {开始对齐} ... \ {端对齐}。 新乳胶宏可以用标准方法,如\ newcommand通过在降价细胞将它们放置数学分隔符之间的任何位置来限定。 这些定义然后在整个IPython的会话的其余部分可用。



Answer 4:

如果你想你的数学出现在一行,例如使用$$,

$$a = b + c$$ (line break after the equation)

如果你没有数学后需要一个换行符,使用单一的美元符号$,例如,

$a = b + c$   (no line break after the equation)


Answer 5:

您可以选择一个单元格是降价,然后写一个得到由mathjax解释,作为响应者之一以上说的乳胶代码。

另外,IPython的笔记本教程的乳胶部分介绍了这口井。

你可以这样做:

from IPython.display import Latex
Latex(r"""\begin{eqnarray}
\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{eqnarray}""")

或这样做:

%%latex
\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}

在此找到更多信息链接



Answer 6:

我不能否认,我没有任何偏见,但我更喜欢使用prettyPy超过写出全乳胶表达式。

例:

诚然, sympy是一个伟大的选择,虽然prettyPy不允许计算表达式,不需要变量初始化。



Answer 7:

因为,我没能即使使用%%乳胶关键字或$ .. $限制器后使用代码中的所有乳胶命令,我安装,通过它我可以降价用乳胶命令nbextensions。 :这里的操作说明后https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/README.md ,然后重新启动Jupyter然后本地主机:8888 / nbextensions然后激活“乳胶环境Jupyter”,我可以运行许多LaTeX命令。 例子在这里: 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}

正如你看到的,我仍然无法使用usepackage。 但也许它会在未来得到改善。



Answer 8:

通过给出的答案minrk (完整包含)是好的,但还有另外一个我喜欢更加的方式。

您也可以渲染为整个小区LaTeX通过键入%%latex作为一个文本单元的第一行。 这是,如果你有用

  • 想要更多的控制,
  • 要的不仅仅是一个数学的环境多,
  • 或者,如果你要编写大量的数学在一个小区中。

minrk的回答是:


IPython的笔记本采用了MathJax渲染HTML /减价内乳胶。 只要把你的LaTeX数学里面$$

 $$c = \sqrt{a^2 + b^2}$$ 

或者你也可以显示来自Python的胶乳/数学输出,作为对年底看到笔记本电脑之旅 :

 from IPython.display import display, Math, Latex display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi ik} dx')) 



Answer 9:

如果你的主要目标是做数学,SymPy提供了一个很好的方法 ,以看起来伟大功能胶乳表达式。



Answer 10:

我碰到这个问题来到某一天使用colab。 我觉得在打印前的最便捷方式,只是运行此代码。 一切正常般的魅力呢。

from IPython.display import Math, HTML

def load_mathjax_in_cell_output():
  display(HTML("<script src='https://www.gstatic.com/external_hosted/"
               "mathjax/latest/MathJax.js?config=default'></script>"))
get_ipython().events.register('pre_run_cell', load_mathjax_in_cell_output)
import sympy as sp
sp.init_printing()

结果如下:



文章来源: How to write LaTeX in IPython Notebook?