繁体   English   中英

如何整合sympy表达和乳胶格式

[英]How to integrate sympy expression and latex formatting

您好,并提前感谢您的帮助。 我正在尝试将好的数学格式与sympy表达式混合在一起。 我正在使用jupyter-notebook。

我可以在单独的线条上获得乳胶和良好的同情印刷,但似乎无法找到将它们组合成一条线的方法。 下面的代码打印三行; 第三行应该是前两行的组合。 希望有一个优雅的解决方案,我还没有想到(一点点的Python菜鸟)。

import sympy as sym
from IPython.display import display, Math
sym.init_printing()

x = sym.symbols('x')

expr = sym.sqrt(3) * x**3
display(Math('\\frac{1}{2} ') )
display(expr)
display(Math('\\frac{1}{2} %s' %expr) )

使用字符串格式时,sympy实现的str方法用于将表达式转换为字符串。 但是, str的输出不适用于LaTeX输出,请参阅str文档

要获取表达式的字符串形式,请使用str(expr)。 这也是print(expr)生成的表单。 字符串表单设计为易于阅读, 但采用正确的Python语法形式,以便可以复制和粘贴 表达式的str()形式通常与输入表达式完全相同。

所以输出是有效的python代码:

>> str(expr)
'sqrt(3)*x**3'

为了得到LaTeX格式的表达式,sympy提供了latex功能 它可以调用如下:

>> sym.latex(expr)
'\\sqrt{3} x^{3}'

所以,只需将最后一行更改为

display(Math('\\frac{1}{2} %s' %sym.latex(expr)))

它应该看起来像预期的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM