Matematikai egyenletek hozzáadása PowerPoint prezentációkhoz Androidon
Áttekintés
A PowerPoint egyenleteket az Office Math Markup Language (OMML) formátumban tárolja. Az Aspose.Slides for Android via Java segítségével programozottan hozhat létre hasonló matematikai tartalmakat: 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üpontból adnak hozzá egyenleteket:

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

Az Aspose.Slides három fő objektumon keresztül építi fel ezt a matematikai szöveget:
- A matematikai alakzat, amelyet az addMathShape hoz létre, az az alakzat, amely az egyenletet tartalmazza.
- MathPortion tárolja a matematikai tartalmat az alakzat szövegkeretében.
- MathParagraph egy vagy több MathBlock objektumot tartalmaz.
Az alábbi legtöbb példa a MathematicalText és az IMathElement folyékony metódusait használja, hogy a kód rövid és olvasható legyen.
MathML export esetén lásd: Export Math Equations from Presentations on Android.
Egyenlet létrehozása
Ez a példa egy matematikai alakzatot hoz létre, és hozzáadja a Pitagorasz-tételt:

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathBlock equation = new MathematicalText("c")
.setSuperscript("2")
.join("=")
.join(new MathematicalText("a").setSuperscript("2"))
.join("+")
.join(new MathematicalText("b").setSuperscript("2"));
mathParagraph.add(equation);
presentation.save("pythagorean-theorem.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
addMathShape olyan alakzatot hoz létre, amely már tartalmaz egy matematikai bekezdést. Az első MathPortion-t érje el, szerezze meg a MathParagraph-ját, és adjon hozzá matematikai blokkokat vagy elemeket.
Törtek hozzáadása
divide használatával hozhat létre törtet. A tört stílusát a MathFractionTypes segítségével választhatja ki.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathFraction fraction = new MathematicalText("1")
.divide("x", MathFractionTypes.Skewed);
mathParagraph.add(new MathBlock(fraction));
presentation.save("fraction.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Egy egymásra helyezett törthez használja a MathFractionTypes.Bar-t:
IMathFraction stackedFraction = new MathematicalText("x + 1").divide("y - 1", MathFractionTypes.Bar);
Gyökök hozzáadása
radical használatával hozhat létre négyzetgyököt, köbgyököt vagy más gyököt. A jelenlegi elem lesz az alap, és az argumentum lesz a fok.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathRadical radical = new MathematicalText("x")
.radical("n");
mathParagraph.add(new MathBlock(radical));
presentation.save("radical.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Függvények és határok hozzáadása
asArgumentOfFunction vagy function használható olyan függvényekhez, mint a sin(x), log(x) vagy egyedi függvénynevek. Határok esetén helyezze a lim-et egy MathLimit objektumba, vagy használja a setLowerLimit-et.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathFunction limit = new MathematicalText("lim")
.setLowerLimit("x→∞")
.function("x");
mathParagraph.add(new MathBlock(limit));
presentation.save("functions-and-limits.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Egyedi függvénynév esetén tegye a függvénynevet a jelenlegi elemmé:
IMathFunction customFunction = new MathematicalText("f").function("x + 1");
N-árnyú operátorok és integrálok hozzáadása
nary használható összegekre, uniókra, metszetekre és más nagy operátorokra. Az integral integrálokhoz. Mindkét metódus lehetővé teszi a alsó és felső határ beállítását.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathBlock summationBase = new MathematicalText("x")
.setSuperscript("k")
.join(new MathematicalText("a").setSuperscript("n-k"));
IMathNaryOperator summation = summationBase.nary(MathNaryOperatorTypes.Summation, "k=0", "n");
mathParagraph.add(new MathBlock(summation));
presentation.save("nary-operators.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
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 összekapcsolásra a kifejezésben.
Integrálhoz használja az integral-t:
IMathBlock integralBase = new MathematicalText("x").join(new MathematicalText("dx").toBox());
IMathNaryOperator integral = integralBase.integral(MathIntegralTypes.Simple, "0", "1");
Mátrixok hozzáadása
Használja a MathMatrix‑t sorok és oszlopok létrehozásához. A mátrixok alapértelmezés szerint nem tartalmaznak zárójeleket, ezért zárja be a mátrixot, ha zárójelekre, szögletes vagy kapcsos zárójelekre van szükség.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
MathMatrix matrix = new MathMatrix(2, 3);
matrix.set_Item(0, 0, new MathematicalText("1"));
matrix.set_Item(0, 1, new MathematicalText("x"));
matrix.set_Item(1, 0, new MathematicalText("x"));
matrix.set_Item(1, 1, new MathematicalText("2"));
matrix.set_Item(1, 2, new MathematicalText("y"));
mathParagraph.add(new MathBlock(matrix));
presentation.save("matrix.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Egyenlet-tömbök hozzáadása
Használja a toMathArray‑t, ha igazított egyenletekre vagy függőleges kifejezéscsoportokra van szükség.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 140);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathArray equationArray = new MathematicalText("x")
.join("y")
.toMathArray();
mathParagraph.add(new MathBlock(equationArray));
presentation.save("equation-array.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Trigonometrikus függvények hozzáadása
Használja az asArgumentOfFunction‑t, ha az argumentum a jelenlegi elem, és a függvény neve ismert.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathFunction cosine = new MathematicalText("2x")
.asArgumentOfFunction(MathFunctionsOfOneArgument.Cos);
mathParagraph.add(new MathBlock(cosine));
presentation.save("trigonometric-function.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Alsó- és felsőindexek hozzáadása
Használja az alsó- és felsőindex segédfüggvényeit indexek és hatványok esetén. Ha az indexeknek a bázis bal oldalán kell megjelenniük, használja a setSubSuperscriptOnTheLeft‑et.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathLeftSubSuperscriptElement scripts = new MathematicalText("Y")
.setSubSuperscriptOnTheLeft("1", "n");
mathParagraph.add(new MathBlock(scripts));
presentation.save("subscript-superscript.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Határolók hozzáadása
enclose segítségével helyezhet kifejezést a határolók közé. Több elemet tartalmazó határolók esetén beállíthat elválasztó karaktert is.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathDelimiter delimiter = new MathematicalText("x")
.join("y")
.join("z")
.enclose('<', '>');
delimiter.setSeparatorCharacter('|');
mathParagraph.add(new MathBlock(delimiter));
presentation.save("delimiters.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Keretdoboz hozzáadása
toBorderBox használata akkor szükséges, ha magát az egyenletet keretbe kell tenni.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathBorderBox boxedEquation = new MathematicalText("a")
.setSuperscript("2")
.join("=")
.join(new MathematicalText("b").setSuperscript("2"))
.join("+")
.join(new MathematicalText("c").setSuperscript("2"))
.toBorderBox();
mathParagraph.add(new MathBlock(boxedEquation));
presentation.save("border-box.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Tagok csoportosítása
group használatával helyezhet csoportosító karaktert a kifejezés fölé vagy alá. Limitet adhat a csoportosított tagok címkézéséhez.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathLimit grouped = new MathematicalText("x + y")
.group('\u23DF', MathTopBotPositions.Bottom, MathTopBotPositions.Top)
.setLowerLimit("any text");
mathParagraph.add(new MathBlock(grouped));
presentation.save("grouped-terms.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Matematikai elemek formázása
A formázó segédfüggvényeket csak akkor használja, ha tisztábbá teszik a képletet. Például az overbar egy vonalat helyez a matematikai elem felett.

Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
IMathParagraph mathParagraph = ((MathPortion) mathShape.getTextFrame().getParagraphs()
.get_Item(0).getPortions().get_Item(0)).getMathParagraph();
IMathBar overbar = new MathematicalText("ABC").overbar();
mathParagraph.add(new MathBlock(overbar));
presentation.save("overbar.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Gyors referencia
| Task | Main API |
|---|---|
| Matematikai szöveg létrehozása | MathematicalText |
| Elemek összekapcsolása | IMathElement.join |
| Törtek létrehozása | IMathElement.divide |
| Felső- vagy alsóindex hozzáadása | setSuperscript, setSubscript |
| Függvények hozzáadása | function, asArgumentOfFunction |
| Gyökök hozzáadása | IMathElement.radical |
| Határok hozzáadása | setLowerLimit, setUpperLimit |
| Baloldali indexek hozzáadása | setSubSuperscriptOnTheLeft |
| Összegek és integrálok hozzáadása | nary, integral |
| Mátrixok hozzáadása | MathMatrix |
| Egyenlet-tömbök hozzáadása | toMathArray |
| Határolók hozzáadása | enclose |
| Áthúzások és keretek hozzáadása | overbar, toBorderBox |
| Tagok 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‑ját, és frissítse a bekezdésben lévő matematikai blokkokat.
Az egyenletek szerkeszthető PowerPoint matematikaként vannak mentve?
Igen. PPTX formátumba mentéskor az Aspose.Slides az egyenletet szerkeszthető Office matematikai tartalomként írja.
Exportálhatok egyenleteket LaTeX‑be?
Igen. Szerezze meg az egyenlet IMathParagraph‑t a IMathPortion objektumból, és hívja meg az IMathParagraph.toLatex metódust a közvetlen exportáláshoz. Teljes példáért lásd: Export Math Equations from Presentations in Android via Java.