使用 Python 以编程方式生成 LaTeX

使用 Python 以编程方式生成 LaTeX

我对 LaTeX 还不太熟悉,我想用 Python 生成一些报告。下面是一些创建简单表格的代码。编写完代码后,我开始怀疑有没有更好的方法来实现这一点。如您所见,这种方法并不好。我在 Tex.sx 上找到了这个问题:使用 LaTeX 以编程方式生成报告但它并没有过多地谈论 Python。

我想做的不仅仅是创建表格。报告可能会变得非常复杂。有没有更好的使用 Python 生成 LaTeX 的选项?我见过有人提到使用 Cheetah 制作模板,但我以前从未使用过它,而且我不确定模板引擎是否足够。LaTeX 似乎也有自己的编程语言。我需要获取一些现有的 Python 代码,所以我不知道如何使用它。您有什么建议?

import pickle
projects = pickle.load(open('projects.p', 'rb'))

with open('projects.tex', 'w') as texfile:
    texfile.write('\\documentclass[a4paper,twoside]{report}\n')
    texfile.write('\\begin{document}\n')
    texfile.write('\\textbf{Active Projects}\n')
    texfile.write('\\begin{tabular}{|c|c|c|c|c|c|}\n')

    row_fields = ('plant_owner', 'tiv_usd', 'project_name', 'city_state', 'rfq', 'completion')
    for summary, details in projects.values():
        values = [details.__dict__[field] for field in row_fields]
        texfile.write('\\hline %s \\\\ \n' % ' & '.join(values))
    texfile.write('\\end{tabular}\n')
    texfile.write('\\end{document}\n')

相关内容