微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Latex pylatex Math Equation:我想使用python将方程添加到表格中例如求和

如何解决Latex pylatex Math Equation:我想使用python将方程添加到表格中例如求和

我的目标是创建一个动态表,我将从我的数据库获取值并使用迭代在表中创建多行。我目前不知道是否可以使用“pylatex”。我现在关心的是使用 python 在我的 pdf 中创建一个数学方程。

跟随您可以了解我正在尝试做什么。

from pylatex import Document,Section,Subsection,Tabular
from pylatex import Math,TikZ,Axis,Plot,figure,Matrix,Alignat
from pylatex.utils import italic,bold
...
...
with doc.create(Subsection('Math Equations')):
        doc.append('Attempt to create dynamic table i.e creating dynamic rows depending on the number of rows in Database,and displaying those values in PDF Table. \n \n')
        with doc.create(Tabular('|p{3cm}|p{7cm}|p{3cm}|')) as table:
            table.add_hline()
            table.add_row((bold('ID'),bold('Equation'),bold('Result')))
            table.add_hline()
            table.add_row('1',Math(inline=False,data="\sum(a+b)",escape=None),'Result')
            table.add_hline()
            for x in range(0,3):
                table.add_row((bold(x),bold(x+1),bold(x+2)))
                table.add_hline()

enter image description here

期望:

enter image description here

我也尝试过在 Latex 中使用“pythontex”,其中使用 \sum_(a+b) 创建方程很容易,用于求和,但创建动态表似乎很困难或不可能。

期待您的建议。 :)

解决方法

我在使用 pylatex 时很快学会的一个技巧是使用 NoEscape 将原始 LaTeX 嵌入到文档中,当 pylatex 不足时:

from pylatex import Document,Section,Subsection,Tabular,NoEscape
from pylatex import Math,TikZ,Axis,Plot,Figure,Matrix,Alignat
from pylatex.utils import italic,bold
...
...
with doc.create(Subsection('Math Equations')):
    doc.append('Attempt to create dynamic table i.e creating dynamic rows depending on the number of rows in Database,and displaying those values in PDF Table. \n \n')
    with doc.create(Tabular('|p{3cm}|p{7cm}|p{3cm}|')) as table:
        table.add_hline()
        table.add_row((bold('ID'),bold('Equation'),bold('Result')))
        table.add_hline()
        table.add_row('1',NoEscape(r"$$\sum(a+b)$$"),'Result')
        table.add_hline()
        for x in range(0,3):
            table.add_row((bold(x),bold(x+1),bold(x+2)))
            table.add_hline()

这里我使用显示方程,您也可以使用带有单个 $ 的内联公式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。