Math 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ó matematika tartalmakat: törtöket, gyököket, függvényeket, határokat, N-értelmű operátorokat, mátrixokat, tömböket és formázott matematikai blokkokat.

A PowerPointban a felhasználók általában a Beszúrás > Egyenlet menüből adnak hozzá egyenleteket:

PowerPoint Beszúrás lap az Egyenlet parancs kiválasztásával

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

PowerPoint dia szerkeszthető matematikai egyenlettel

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

  • A matematikai alakzat, amelyet a addMathShape hívással hozunk 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ó maradjon.

MathML export esetén lásd a Matematikai egyenletek exportálása prezentációkból Androidra.

Egyenlet létrehozása

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

Az egyenlet: c² = a² + b²

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();
}

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.

Egy ferde tört, amely az 1-et osztja x-szel

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();
}

Halmozott 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 egyéb gyököt. A jelenlegi elem lesz az alap, az argumentum pedig a kitevő.

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

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álatával hozhat létre függvényeket, például sin(x), log(x), vagy egyedi függvényneveket. Határokhoz helyezze a lim-et egy MathLimit elembe, vagy használja a setLowerLimit-et.

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

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-értékű operátorok és integrálok hozzáadása

nary használatával hozhat létre összegeket, uniókat, metszeteket és más nagy operátorokat. integral segítségével integrálokat hozhat létre. Mindkét metódus lehetővé teszi az alsó és felső határok beállítását.

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

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();
}

N-értelmű operátorok nagy operátorok opcionális határokkal. Egyszerű operátorok, mint a +, - és = általában MathematicalText‑ként kerülnek hozzáadásra, majd a kifejezésbe illesztésre.

Integrálhoz használja a 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. Alapértelmezés szerint a mátrixok nem tartalmaznak zárójeleket, ezért körül kell őket tenni, ha zárójelekre, szögletes vagy kapcsos zárókra van szükség.

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

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

Függőleges matematikai tömb, x felett y

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 a asArgumentOfFunction‑t, ha az argumentum a jelenlegi elem, és a függvény neve ismert.

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

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ényeket indexek és hatványok létrehozásához. Ha az indexeknek a bázis bal oldalán kell megjelenniük, alkalmazza a setSubSuperscriptOnTheLeft‑t.

Nagy Y baloldali alsó index 1-gyel és felső index n-vel

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 használatával helyezhet kifejezést határolók közé. Több elemet tartalmazó határolókhoz beállíthat elválasztó karaktert is.

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

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álatával keretezhet egy egyenletet.

Keretbe tett egyenlet: a² = b² + c²

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 egy csoportosító karaktert helyezhet egy kifejezés fölé vagy alá. A csoportosított tagok felcímkézéséhez adjon hozzá egy határt.

Az x + y kifejezés csoportosítva az alatta lévő “bármilyen szöveg” felirattal

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

Formázó segédfüggvényeket csak akkor használjon, ha azok tisztábbá teszik a képletet. Például az overbar egy vonalat helyez egy matematikai elem fölé.

ABC matematikai kifejezés felülvonallal

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();
}

Gyorsreferencia

Feladat Fő API
Matematikai szöveg létrehozása MathematicalText
Elemek összevoná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
Összegekkel és integrálok hozzáadása nary, integral
Mátrixok hozzáadása MathMatrix
Egyenlettömbök hozzáadása toMathArray
Határolók hozzáadása enclose
Vonalk és keret 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 formátumba?

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 egy olyan eszközzel konvertálja, amely támogatja a kívánt LaTeX dialektust.