• 使用python生成Latex公式语法


    原始地址:https://news.cnblogs.com/n/671205/

    使用包和环境

    和latex对应的包为:handcalcs,使用pip下载即可

    另外需要一些常用的数学包,首先在python本地将公式创建出来,如math包,scipy的积分生成包等

    环境为jupyter notebook

    生成公式和预览

    以下代码生成了公式中的的预览图。其中%%render为实现的代码,分割线表示为两个ceil的分隔。

    from math import sqrt
    from math import asin
    from math import sin
    import handcalcs.render
    a=1
    b=2
    c=3
    d=4
    ===========================================
    %%render
    d=sqrt(a/b)+asin(sin(b/c))+(a/b)**(0.5)
    

    只保留公式部分

    使用#symbolic表示只生成过程,不计算结果。其中的a-d,已经在之前定义过。

    %%render
    #symbolic
    d=sqrt(a/b)+asin(sin(b/c))+(a/b)**(0.5)
    

    添加注释

    直接使用普通注释在原始公式后即可

    %%render
    #symbolic
    d=sqrt(a/b)+asin(sin(b/c))+(a/b)**(0.5) #这里是注释

    转换为Latex语法格式

    使用%%tex语法,即可生成对应的代码

    %%tex
    #symbolic
    d=sqrt(a/b)+asin(sin(b/c))+(a/b)**(0.5)
    

    函数中使用预览效果

    在如下函数中,使用handcalc导入,并使用该注解。函数参数个数和注解中的参数个数保持一致。

    @handcalc(1,1,1)
    def my_calc(x,y,z):
        a=2*x/y
        b=3*a
        c=(a+b)/z
        return locals()
    my_calc(2,3,4)
    

    在调用了该函数后,会显示相应的信息

  • 相关阅读:
    《JavaScript语言精粹》学习心得
    Linq笔记
    关于缓存
    JS-替换全部全部字符串
    相同数据用分号分割
    单例模式
    es6- ArrayBuffer
    vue常用属性解释。
    装饰者模式
    中介者模式
  • 原文地址:https://www.cnblogs.com/bai2018/p/13559927.html
Copyright © 2020-2023  润新知