Math egyenletek hozzáadása PowerPoint prezentációkhoz Pythonban
Áttekintés
A PowerPoint egyenleteket Office Math Markup Language (OMML) formátumban tárolja. Az Aspose.Slides for Python via .NET segítségével programozottan létrehozhatja ugyanazt a matematikai tartalmat: törtek, gyökök, függvények, határok, N-áris operátorok, mátrixok, tömbök és formázott matematikai blokkok.
A PowerPointban a felhasználók általában a Insert > Equation menüponttal adnak hozzá egyenleteket:

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

Az Aspose.Slides ezen a matematikai szövegen három fő objektumon keresztül épít fel:
- A matematikai alakzat, amelyet a add_math_shape hoz létre, az a forma, amely tartalmazza az egyenletet.
- MathPortion tárolja a matematikai tartalmat a forma szövegtáblájában.
- MathParagraph egy vagy több MathBlock objektumot tartalmaz.
Az alábbi legtöbb példa a MathematicalText és az IMathElement folyékony módszereit használja, hogy a kód rövid és olvasható legyen.
MathML exportálási esetekhez lásd a 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:

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 egy olyan alakzatot hoz létre, amely már tartalmaz egy matematikai bekezdést. Hozzáfér az első MathPortion-höz, lekéri annak MathParagraph-ját, és hozzáadja a matematikai blokkokat vagy matematikai elemeket.
Törtek hozzáadása
Használja a divide függvényt törtek létrehozásához. A törttípus kiválasztásához használhatja a MathFractionTypes lehetőséget.

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 más gyök létrehozásához. Az aktuális elem lesz az alap, a paraméter pedig a gyök kitevője.

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 a sin(x), log(x), vagy egyedi függvénynevekhez. Határok esetén helyezze a lim-et egy MathLimit objektumba, vagy használja a set_lower_limit függvényt.

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év esetén tegye a függvénynevet az aktuális elemmé:
custom_function = math.MathematicalText("f").function("x + 1")
N-áris operátorok és integrálok hozzáadása
Használja a nary függvényt összeadások, uniók, metszetek és más nagy operátorok esetén. Integrálokhoz használja a integral függvényt. Mindkét módszerrel megadhatja az alsó és felső határokat.

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-áris operátorok nagy operátorok opcionális határokkal való használatához szolgálnak. Az egyszerű operátorok, mint a +, -, és =, általában MathematicalText‑ként kerülnek hozzáadásra, majd az kifejezésbe fűzve.
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 létrehozásához. Alapértelmezésként a mátrixok nem tartalmaznak zárójeleket, ezért ha zárójelekre, szögletes vagy kapcsos zárókra van szükség, akkor kézzel kell őket körülvenni.

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ésstackre van szükség.

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 a argumentum az aktuális elem és a függvény neve ismert.

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 esetén. Ha az indexeknek az alap bal oldalán kell megjelenniük, használja a set_sub_superscript_on_the_left függvényt.

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ók hozzáadása
Használja a enclose függvényt egy kifejezés határolók közé helyezéséhez. Több elemet tartalmazó határolók esetén beállíthat egy elválasztó karaktert is.

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)
Keretdoboz hozzáadása
Használja a to_border_box függvényt, ha maga az egyenlet keretezett legyen.

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 egy csoportosító karaktert helyezzen a kifejezés fölé vagy alá. Határ hozzáadásával címkézheti a csoportosított kifejezéseket.

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édfüggvényeket csak ott, ahol tisztázza a képletet. Például a overbar egy vonalat helyez a matematikai elem fölé.

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 egyesítése | 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 |
| Összeadások é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ók hozzáadása | enclose |
| Vonalak és keretek hozzáadása | overbar, to_border_box |
| Kifejezések csoportosítása | group |
GYIK
Szerkeszthetek egy meglévő PowerPoint egyenletet?
Igen. Nyissa meg a prezentációt, keresse meg azt az alakzatot, amely MathPortion-t tartalmaz, szerezze be annak MathParagraph-ját, és frissítse a bekezdésben lévő matematikai blokkokat.
Az egyenletek szerkeszthető PowerPoint matematikaként mentődnek?
Igen. PPTX formátumba mentéskor az Aspose.Slides az egyenletet szerkeszthető Office matematikai tartalomként írja.
Exportálhatok egyenleteket LaTeX-be?
Az Aspose.Slides a matematikai egyenleteket MathML formátumba exportálja. Ha LaTeX-re van szüksége, először exportáljon MathML-be, majd a cél LaTeX dialektusát támogató eszközzel konvertálja át.