如何在IPython Notebook中显示LaTeX代码?
当前回答
我开发了pretty typy,它提供了一种打印方程的好方法。不幸的是,它不是高性能的,需要测试。
例子:
当然,sympy是一个很好的替代方案,尽管prettyPy不允许计算表达式,变量初始化是不需要的。
其他回答
如果希望从笔记本代码单元中显示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)
它将显示格式化的方程式。
使用$$如果你想要你的数学出现在单行,例如,
$$a = b + c$$ (line break after the equation)
如果在数学运算之后不需要换行符,可以使用单美元符号$,例如:
$a = b + c$ (no line break after the equation)
IPython笔记本使用MathJax在html/markdown中渲染LaTeX。只要把你的LaTeX数学放在$$中。
$$c = \sqrt{a^2 + b^2}$$
或者你可以从Python中显示LaTeX / Math输出,就像在笔记本之旅结束时看到的那样:
from IPython.display import display, Math, Latex
display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
在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}
呈现:
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。但也许将来会有所改进。
推荐文章
- 如何嵌入HTML到IPython输出?
- 如何在Latex中编写url ?
- 使用pandoc从Markdown转换为PDF时设置空白大小
- Python和IPython的区别是什么?
- 如何从终端运行。ipynb Jupyter Notebook ?
- 移除jupyter笔记本上的内核
- 如何使用列的格式字符串显示浮动的熊猫数据帧?
- 使用Python 2。3. Python。IPython Notebook中的x
- 如何加载/编辑/运行/保存文本文件(.py)到IPython笔记本细胞?
- 在R中制作乳胶表的工具
- 在安装pip后,“jupyter:命令未找到”
- 在IPython中自动重载模块
- 如何防止谷歌Colab断开连接?
- git + LaTeX工作流
- 如何在Jupyter Notebook中显示文件中的图像?