Matematikai egyenletek hozzáadása PowerPoint prezentációkhoz Pythonban

Áttekintés

A PowerPoint egyenleteket az Office Math Markup Language (OMML) formátumban tárolja. Az Aspose.Slides for Python via .NET segítségével programozott módon hozhat létre ugyanezt a típusú matematikai tartalmat: törtök, gyökök, függvények, határok, N-árnyú operátorok, mátrixok, tömbök és formázott matematikai blokkok.

A PowerPointban a felhasználók általában a Insert > Equation menüből adnak hozzá egyenleteket:

PowerPoint Beszúrás lap a Képlet parancs kiválasztva

Az eredmény szerkeszthető matematikai szöveg a dián:

PowerPoint dia szerkeszthető matematikai egyenlettel

Az Aspose.Slides ezen matematikai szöveget három fő objektumon keresztül építi fel:

  • Egy matematikai alakzat, amelyet a add_math_shape segítségével hoz létre, az az alakzat, amely az egyenletet tartalmazza.
  • MathPortion tárolja a matematikai tartalmat az alakzat szövegkeretén belül.
  • MathParagraph egy vagy több MathBlock objektumot tartalmaz.

Az alábbi legtöbb példában a MathematicalText és az IMathElement folyékony metódusait használjuk, hogy a kód rövid és olvasható legyen.

For MathML export scenarios, see Export Math Equations from Presentations in Python via .NET.

Egyenlet létrehozása

Ez a példa egy matematikai alakzatot hoz létre, és hozzáadja a Pitagorasz‑tételt:

c négyzet egyenlő a négyzet plusz b négyzet

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)

Törtek hozzáadása

Használja a divide függvényt tört létrehozásához. A tört stílusát a MathFractionTypes segítségével választhatja ki.

Ferde matematikai tört, amely 1-et oszt x-szel

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)

Halmozott tört létrehozásához használja a MathFractionTypes.BAR-t:

stacked_fraction = math.MathematicalText("x + 1").divide("y - 1", math.MathFractionTypes.BAR)

Gyökök hozzáadása

Használja a radical függvényt négyzetgyök, köbgyök vagy egyéb gyök létrehozásához. Az aktuális elem lesz az alap, a argumentum a gyök fokát adja meg.

n-edik gyök kifejezés, x a gyökjel alatt

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)

Függvények és határok hozzáadása

Használja a as_argument_of_function vagy a function függvényeket olyan függvényekhez, mint sin(x), log(x), vagy egyedi függvénynevekhez. Határokhoz helyezze a lim-et egy MathLimit objektumba, vagy használja a set_lower_limit függvényt.

x határa, amikor x a végtelen felé tart

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)

Egyedi függvénynévhez tegye a függvénynevet az aktuális elemnek:

custom_function = math.MathematicalText("f").function("x + 1")

N-árnyú operátorok és integrálok hozzáadása

Használja a nary függvényt összeadások, uniók, metszetek és egyéb nagy operátorok esetén. Az integral függvényt integrálokhoz. Mindkét metódus lehetővé teszi a alsó és felső határ beállítását.

Összegzés alsó és felső határokkal

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)

Az N-árnyú operátorok nagy operátorok opcionális határokkal. Az egyszerű operátorok, mint a +, -, és = általában MathematicalText-ként kerülnek hozzáadásra és az egyenletbe illesztésre.

Integrálhoz használja a integral-t:

integral_base = math.MathematicalText("x").join(math.MathematicalText("dx").to_box())
integral = integral_base.integral(math.MathIntegralTypes.SIMPLE, "0", "1")

Mátrixok hozzáadása

Használja a MathMatrix oszlopok és sorok kezeléséhez. A mátrixok alapértelmezés szerint nem tartalmaznak zárójeleket, ezért ha szükséges, zárójelek, szögletes vagy kapcsos zárójelek közé helyezze.

Két soros matematikai mátrix egy üres cellával

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)

Egyenlet tömbök hozzáadása

Használja a to_math_array függvényt, ha igazított egyenletekre vagy függőleges kifejezéshalmazra van szükség.

Függőleges matematikai tömb x felett 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)

Trigonometrikus függvények hozzáadása

Használja a as_argument_of_function függvényt, ha az argumentum az aktuális elem, és a függvény neve ismert.

A cos trigonometrikus függvény alkalmazva 2x-re

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)

Alsó- és felsőindexek hozzáadása

Használja az alsó- és felsőindex segédfüggvényeket indexek és hatványok számára. Ha az indexeknek az alap bal oldalán kell megjelenniük, használja a set_sub_superscript_on_the_left függvényt.

Nagy Y baloldali alsóindex 1 és felsőindex 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)

Határolójelek hozzáadása

Használja a enclose függvényt kifejezés határolójelek közé helyezésére. Több elemet tartalmazó határoló kifejezésekhez beállíthat elválasztó karaktert is.

Határoló kifejezés, amely x-et, y-t és z-t tartalmaz, függőleges vonalakkal elválasztva

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)

Határoló doboz hozzáadása

Használja a to_border_box függvényt, ha maga az egyenlet keretezésre szorul.

Keretes egyenlet, amely a^2 = b^2 + c^2

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)

Kifejezések csoportosítása

Használja a group függvényt, hogy csoportosító karaktert helyezzen egy kifejezés fölé vagy alá. Egy határ hozzáadásával címkézheti a csoportosított kifejezéseket.

x + y kifejezés csoportosítva a címkével, bármilyen szöveg alatta

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)

Matematikai elemek formázása

Használja a formázó segédeszközöket csak ahol a képletet egyértelműbbé teszik. Például a overbar egy vonalat helyez a matematikai elem fölé.

ABC matematikai kifejezés felül vonallal

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)

Gyors referencia

Feladat Fő API
Matematikai szöveg létrehozása MathematicalText
Elemek kombinálása IMathElement.join
Törtek létrehozása IMathElement.divide
Felső- vagy alsóindex hozzáadása set_superscript, set_subscript
Függvények hozzáadása function, as_argument_of_function
Gyökök hozzáadása radical
Határok hozzáadása set_lower_limit, set_upper_limit
Baloldali indexek hozzáadása set_sub_superscript_on_the_left
Összegzések és integrálok hozzáadása nary, integral
Mátrixok hozzáadása MathMatrix
Egyenlet tömbök hozzáadása to_math_array
Határolójelek hozzáadása enclose
Vonalak és keretek hozzáadása overbar, to_border_box
Kifejezések csoportosítása group

GYIK

Szerkeszthetek meglévő PowerPoint egyenletet?

Igen. Nyissa meg a prezentációt, keresse meg azt az alakzatot, amely MathPortion‑t tartalmaz, szerezze meg a MathParagraph‑t, és frissítse a bekezdésben lévő matematikai blokkokat.

Az egyenletek szerkeszthető PowerPoint matematikaként vannak mentve?

Igen. PPTX mentésekor az Aspose.Slides az egyenletet szerkeszthető Office matematikai tartalomként írja.

Exportálhatok egyenleteket LaTeX‑be?

Igen. Szerezze meg az egyenlet MathParagraph objektumát a MathPortion‑ból, és hívja meg a MathParagraph.to_latex metódust a közvetlen exportáláshoz. Teljes példáért lásd a Export Math Equations from Presentations in Python via .NET.