LATEX中的数学使用Python

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LATEX中的数学使用Python相关的知识,希望对你有一定的参考价值。

我有一个txt文件,其中我有一组乳胶格式的线性方程式。我用Python编写了一个程序来创建这种格式的线性方程。现在,我想写一个python代码来读取这个.txt文件并将其转换为pdfLatex。

我的txt格式的线性方程的一个例子。

5 z_ {01} + O_ {31} <= 4

5 z_ {02} + O_ {31} + 2 O_ {32} <= 4

有没有办法编写代码将其转换为pdfLatex?谢谢!

答案

使用pylatex库,您可以创建.pdf和.tex文件。我将方程式保存在名为“Example.txt”的.txt文件中。

这是代码......

from pylatex import Document, PageStyle, LineBreak, Section, Subsection, Math, Alignat, LargeText, Center, MediumText
from pylatex.utils import bold, italic, NoEscape
import re

class Math_LaTeX ():
    def __init__(self, doc):
        #---Initialize---
        self.doc = doc

        #---Get equations info from the .txt file (in this case called "Example.txt")---
        equations = self.Read()

        #---Create LaTeX document---
        self.Create(equations)

        #---Save PDF---
        self.doc.generate_pdf(filepath = 'Math_LaTeX', clean_tex = False, compiler = 'pdflatex')

    def Read(self):
        data = open('Example.txt', 'rt')
        equations = data.readlines()
        eqs = []
        for eq in equations:
            eqs.append(' '.join([line.strip() for line in eq.strip().splitlines()]))
        return eqs

    def Create(self, equations):
        with self.doc.create(Center()) as Centered:
            with Centered.create(Section(title='', numbering='')) as Title:
                Title.append(LargeText(bold('MATH EQUATIONS IN A PDF DOCUMENT WITH LATEX')))

        with self.doc.create(Section(title='INTRODUCTION', numbering='1.')) as Intro:
            Intro.append(MediumText(('In this example, the equations shown above are contained in .txt file called 
             "Example.txt".')))

        for eq in equations:
            with self.doc.create(Alignat(numbering = True, escape = False)) as math_eq:
                math_eq.append(eq)



geometry_options = {
        "head": "2.5cm",
        "left": "3cm",
        "right": "3cm",
        "bottom": "2.5cm"
        }
doc = Document(geometry_options = geometry_options, inputenc = 'utf8')
Math_LaTeX(doc)

运行此代码后,您将在.py文件的同一目录中同时拥有“Math_LaTeX.pdf”和“Math_LaTeX.tex”。

这是PDF格式的结果文件:

Resultant file in pdf

以上是关于LATEX中的数学使用Python的主要内容,如果未能解决你的问题,请参考以下文章

latex在vim中的代码片段

Python Graphs:节点标签的 Latex 数学渲染

怎样用latex加黑数学公式中的小写希腊字母?

LaTeX数学模式&上下标&代码块

python怎么显示数学表达式?

LaTex中的数学公式(一)行内、行间公式