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:

Tab Sisipkan PowerPoint dengan perintah Persamaan dipilih

Hasilnya adalah teks matematika yang dapat diedit pada slide:

Sebuah slide PowerPoint yang berisi persamaan matematika yang dapat diedit

Aspose.Slides membangun teks matematika tersebut melalui tiga objek utama:

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:

Persamaan c kuadrat sama dengan a kuadrat ditambah b kuadrat

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)

Tambahkan Pecahan

Gunakan divide untuk membuat sebuah pecahan. Anda dapat memilih gaya pecahan dengan MathFractionTypes.

Pecahan matematika miring yang menunjukkan satu dibagi x

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.

Ekspresi radikal akar ke-n dengan x di bawah tanda radikal

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.

Batas dari x saat x mendekati tak terhingga

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.

Sebuah penjumlahan dengan 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.

Matriks matematika dua baris dengan satu sel kosong

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.

Array matematika vertikal dengan x di atas y

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.

Fungsi trigonometri cos diterapkan pada 2x

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.

Huruf Y kapital dengan subskrip sisi kiri 1 dan superskrip n

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.

Ekspresi delimiter yang berisi x, y, dan z dipisahkan oleh garis vertikal

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.

Persamaan dalam kotak yang menunjukkan a kuadrat sama dengan b kuadrat ditambah c kuadrat

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.

Ekspresi x plus y dikelompokkan dengan label teks apa saja di bawahnya

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.

Ekspresi matematika ABC dengan overbar

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.