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格式的结果文件:
以上是关于LATEX中的数学使用Python的主要内容,如果未能解决你的问题,请参考以下文章