Tambahkan Persamaan Matematika ke Presentasi PowerPoint dalam Python
Ikhtisar
PowerPoint menyimpan persamaan sebagai Office Math Markup Language (OMML). Dengan Aspose.Slides for Python via .NET, Anda dapat membuat konten matematika yang sama secara programatis: pecahan, radikal, fungsi, batas, operator N-ary, matriks, array, dan blok matematika yang diformat.
Di PowerPoint, pengguna biasanya menambahkan persamaan melalui Insert > Equation:

Hasilnya adalah teks matematika yang dapat diedit pada slide:

Aspose.Slides membangun teks matematika tersebut melalui tiga objek utama:
- Sebuah bentuk matematika, yang dibuat dengan add_math_shape, adalah bentuk yang berisi persamaan.
- MathPortion menyimpan konten matematika di dalam bingkai teks bentuk.
- MathParagraph berisi satu atau beberapa objek MathBlock.
Sebagian besar contoh di bawah ini menggunakan MathematicalText dan metode fluent dari IMathElement untuk menjaga kode tetap singkat dan mudah dibaca.
Untuk skenario ekspor MathML, lihat Export Math Equations from Presentations in Python via .NET.
Buat Persamaan
Contoh ini membuat sebuah bentuk matematika dan menambahkan teorema Pythagoras:

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 120)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
equation = (
math.MathematicalText("c")
.set_superscript("2")
.join("=")
.join(math.MathematicalText("a").set_superscript("2"))
.join("+")
.join(math.MathematicalText("b").set_superscript("2"))
)
math_paragraph.add(equation)
presentation.save("pythagorean-theorem.pptx", slides.export.SaveFormat.PPTX)
add_math_shape membuat sebuah bentuk yang sudah berisi paragraf matematika. Akses MathPortion pertama, dapatkan MathParagraph‑nya, dan tambahkan blok matematika atau elemen matematika ke dalamnya.
Tambahkan Pecahan
Gunakan divide untuk membuat sebuah pecahan. Anda dapat memilih gaya pecahan dengan MathFractionTypes.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
fraction = math.MathematicalText("1").divide("x", math.MathFractionTypes.SKEWED)
math_paragraph.add(math.MathBlock(fraction))
presentation.save("fraction.pptx", slides.export.SaveFormat.PPTX)
Untuk pecahan bertumpuk, gunakan MathFractionTypes.BAR:
stacked_fraction = math.MathematicalText("x + 1").divide("y - 1", math.MathFractionTypes.BAR)
Tambahkan Radikal
Gunakan radical untuk membuat akar kuadrat, akar kubik, atau akar lainnya. Elemen saat ini menjadi basis, dan argumen menjadi derajatnya.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
radical = math.MathematicalText("x").radical("n")
math_paragraph.add(math.MathBlock(radical))
presentation.save("radical.pptx", slides.export.SaveFormat.PPTX)
Tambahkan Fungsi dan Batas
Gunakan as_argument_of_function atau function untuk fungsi seperti sin(x), log(x), atau nama fungsi khusus. Untuk batas, letakkan lim dalam sebuah MathLimit atau gunakan set_lower_limit.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
limit = (
math.MathematicalText("lim")
.set_lower_limit("x\u2192\u221E")
.function("x")
)
math_paragraph.add(math.MathBlock(limit))
presentation.save("functions-and-limits.pptx", slides.export.SaveFormat.PPTX)
Untuk nama fungsi khusus, jadikan nama fungsi sebagai elemen saat ini:
custom_function = math.MathematicalText("f").function("x + 1")
Tambahkan Operator N-ary dan Integral
Gunakan nary untuk penjumlahan, union, interseksi, dan operator besar lainnya. Gunakan integral untuk integral. Kedua metode memungkinkan Anda menambahkan batas bawah dan atas.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 120)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
summation_base = (
math.MathematicalText("x")
.set_superscript("k")
.join(math.MathematicalText("a").set_superscript("n-k"))
)
summation = summation_base.nary(math.MathNaryOperatorTypes.SUMMATION, "k=0", "n")
math_paragraph.add(math.MathBlock(summation))
presentation.save("nary-operators.pptx", slides.export.SaveFormat.PPTX)
Operator N-ary ditujukan untuk operator besar dengan batas opsional. Operator sederhana seperti +, -, dan = biasanya ditambahkan sebagai MathematicalText dan digabungkan ke dalam ekspresi.
Untuk integral, gunakan integral:
integral_base = math.MathematicalText("x").join(math.MathematicalText("dx").to_box())
integral = integral_base.integral(math.MathIntegralTypes.SIMPLE, "0", "1")
Tambahkan Matriks
Gunakan MathMatrix untuk baris dan kolom. Matriks secara default tidak menyertakan kurung, jadi bungkus matriks dengan tanda kurung, siku, atau kurawal bila diperlukan.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 120)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
matrix = math.MathMatrix(2, 3)
matrix[0, 0] = math.MathematicalText("1")
matrix[0, 1] = math.MathematicalText("x")
matrix[1, 0] = math.MathematicalText("x")
matrix[1, 1] = math.MathematicalText("2")
matrix[1, 2] = math.MathematicalText("y")
math_paragraph.add(math.MathBlock(matrix))
presentation.save("matrix.pptx", slides.export.SaveFormat.PPTX)
Tambahkan Array Persamaan
Gunakan to_math_array ketika Anda membutuhkan persamaan yang diratakan atau tumpukan vertikal dari ekspresi.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 140)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
equation_array = (
math.MathematicalText("x")
.join("y")
.to_math_array()
)
math_paragraph.add(math.MathBlock(equation_array))
presentation.save("equation-array.pptx", slides.export.SaveFormat.PPTX)
Tambahkan Fungsi Trigonometri
Gunakan as_argument_of_function ketika argumen adalah elemen saat ini dan nama fungsi sudah diketahui.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
cosine = math.MathematicalText("2x").as_argument_of_function(
math.MathFunctionsOfOneArgument.COS
)
math_paragraph.add(math.MathBlock(cosine))
presentation.save("trigonometric-function.pptx", slides.export.SaveFormat.PPTX)
Tambahkan Subskrip dan Superskrip
Gunakan pembantu subskrip dan superskrip untuk indeks dan pangkat. Ketika indeks harus muncul di sisi kiri basis, gunakan set_sub_superscript_on_the_left.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
scripts = math.MathematicalText("Y").set_sub_superscript_on_the_left("1", "n")
math_paragraph.add(math.MathBlock(scripts))
presentation.save("subscript-superscript.pptx", slides.export.SaveFormat.PPTX)
Tambahkan Delimiter
Gunakan enclose untuk menempatkan sebuah ekspresi di dalam delimiter. Anda juga dapat mengatur karakter pemisah untuk ekspresi delimiter yang berisi beberapa elemen.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
delimiter = (
math.MathematicalText("x")
.join("y")
.join("z")
.enclose("<", ">")
)
delimiter.separator_character = "|"
math_paragraph.add(math.MathBlock(delimiter))
presentation.save("delimiters.pptx", slides.export.SaveFormat.PPTX)
Tambahkan Kotak Bingkai
Gunakan to_border_box ketika persamaan itu sendiri harus dibingkai.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
boxed_equation = (
math.MathematicalText("a")
.set_superscript("2")
.join("=")
.join(math.MathematicalText("b").set_superscript("2"))
.join("+")
.join(math.MathematicalText("c").set_superscript("2"))
.to_border_box()
)
math_paragraph.add(math.MathBlock(boxed_equation))
presentation.save("border-box.pptx", slides.export.SaveFormat.PPTX)
Kelompokkan Istilah
Gunakan group untuk menempatkan karakter pengelompokan di atas atau di bawah sebuah ekspresi. Tambahkan batas untuk memberi label pada istilah yang dikelompokkan.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 120)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
grouped = (
math.MathematicalText("x + y")
.group(chr(0x23DF), math.MathTopBotPositions.BOTTOM, math.MathTopBotPositions.TOP)
.set_lower_limit("any text")
)
math_paragraph.add(math.MathBlock(grouped))
presentation.save("grouped-terms.pptx", slides.export.SaveFormat.PPTX)
Format Elemen Matematika
Gunakan pembantu pemformatan hanya ketika mereka memperjelas rumus. Misalnya, overbar menempatkan sebuah garis di atas elemen matematika.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
overbar = math.MathematicalText("ABC").overbar()
math_paragraph.add(math.MathBlock(overbar))
presentation.save("overbar.pptx", slides.export.SaveFormat.PPTX)
Referensi Cepat
| Tugas | API Utama |
|---|---|
| Buat teks matematika | MathematicalText |
| Gabungkan elemen | IMathElement.join |
| Buat pecahan | IMathElement.divide |
| Tambahkan superskrip atau subskrip | set_superscript, set_subscript |
| Tambahkan fungsi | function, as_argument_of_function |
| Tambahkan radikal | radical |
| Tambahkan batas | set_lower_limit, set_upper_limit |
| Tambahkan skrip sisi kiri | set_sub_superscript_on_the_left |
| Tambahkan penjumlahan dan integral | nary, integral |
| Tambahkan matriks | MathMatrix |
| Tambahkan array persamaan | to_math_array |
| Tambahkan delimiter | enclose |
| Tambahkan bar dan bingkai | overbar, to_border_box |
| Kelompokkan istilah | group |
FAQ
Apakah saya dapat mengedit persamaan PowerPoint yang ada?
Ya. Buka presentasi, temukan bentuk yang berisi MathPortion, dapatkan MathParagraph‑nya, dan perbarui blok matematika dalam paragraf tersebut.
Apakah persamaan disimpan sebagai matematika PowerPoint yang dapat diedit?
Ya. Saat Anda menyimpan ke PPTX, Aspose.Slides menulis persamaan sebagai konten Office Math yang dapat diedit.
Apakah saya dapat mengekspor persamaan ke LaTeX?
Aspose.Slides mengekspor persamaan matematika ke MathML. Jika Anda memerlukan LaTeX, ekspor dulu ke MathML kemudian konversi MathML dengan alat yang mendukung dialek LaTeX target Anda.