How to render Latex markup using Python?

前端 未结 6 2228
离开以前
离开以前 2020-12-15 07:02

How to show an easy latex-formula in python? Maybe numpy is the right choice?

EDIT:

I have python code like:

a = \'\\frac{a}{b}\'


        
相关标签:
6条回答
  • 2020-12-15 07:26

    Creating mathematical formulas in Pandas.

    a = r'\frac{a}{b}'
    ax = plt.axes([0,0,0.3,0.3]) #left,bottom,width,height
    ax.set_xticks([])
    ax.set_yticks([])
    ax.axis('off')
    plt.text(0.4,0.4,'$%s$' %a,size=50,color="green")
    

    a = r'f(x) = \frac{\exp(-x^2/2)}{\sqrt{2*\pi}}'
    ax = plt.axes([0,0,0.3,0.3]) #left,bottom,width,height
    ax.set_xticks([])
    ax.set_yticks([])
    ax.axis('off')
    plt.text(0.4,0.4,'$%s$' %a,size=50,color="green")
    

    0 讨论(0)
  • 2020-12-15 07:31

    As suggested by Andrew little work around using matplotlib.

    import matplotlib.pyplot as plt
    a = '\\frac{a}{b}'  #notice escaped slash
    plt.plot()
    plt.text(0.5, 0.5,'$%s$'%a)
    plt.show()
    
    0 讨论(0)
  • 2020-12-15 07:38

    An answer based on this one specific to Jupyter notebook, using f-string to format an $x_i$ variable:

    from IPython.display import display, Latex
    for i in range(3):
        display(Latex(f'$x_{i}$'))
    

    Note: The f-string (formatted string literal) uses curly braces to insert the value of the Python variable i. You’ll need to double the curly braces (f'{{}}') to actually use {} in the LaTeX code. Otherwise, you can use single curly braces directly in a normal Python string (not an f-string).

    Side Note: I'm surprised Stack Overflow still doesn’t have a math markup.

    0 讨论(0)
  • 2020-12-15 07:46

    Matplotlib can already do TeX, by setting text.usetex: True in ~/.matplotlib/matplotlibrc. Then, you can just use TeX in all displayed strings, e.g.,

    ylabel(r"Temperature (K) [fixed $\beta=2$]")
    

    (be sure to use the $ as in normal in-line TeX!). The r before the string means that no substitutions are made; otherwise you have to escape the slashes as mentioned.

    More info at the matplotlib site.

    0 讨论(0)
  • 2020-12-15 07:46

    Draw with matplotlib,

    import matplotlib.pyplot as plt
    a = r'\frac{a}{b}'
    ax=plt.subplot(111)
    ax.text(0.5,0.5,r"$%s$" %(a),fontsize=30,color="green")
    plt.show()
    

    0 讨论(0)
  • 2020-12-15 07:49

    Without ticks:

    a = r'\frac{a}{b}'
    ax = plt.axes([0,0,0.1,0.2]) #left,bottom,width,height
    ax.set_xticks([])
    ax.set_yticks([])
    plt.text(0.3,0.4,'$%s$' %a,size=40)
    
    0 讨论(0)
提交回复
热议问题