Matematikai egyenletek hozzáadása PowerPoint prezentációkhoz .NET-ben

Áttekintés

A PowerPoint egyenleteket az Office Math Markup Language (OMML) formátumban tárolja. Az Aspose.Slides for .NET segítségével programozottan hozhat létre ugyanilyen matematikai tartalmakat: törtöket, gyököket, függvényeket, határokat, N-árnyú operátorokat, mátrixokat, tömböket és formázott matematikai blokkokat.

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

PowerPoint Insert fül, ahol a Equation parancs van kijelölve

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

PowerPoint dia, amely szerkeszthető matematikai egyenletet tartalmaz

Az Aspose.Slides három fő objektum segítségével építi fel ezt a matematikai szöveget:

  • A matematikai alakzat, amelyet a AddMathShape hoz létre, az az alakzat, amely az egyenletet tartalmazza.
  • MathPortion tárolja a matematikai tartalmat az alakzat 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 a kód rövid és olvasható tartásához.

MathML export esetén lásd a Export Math Equations from Presentations in .NET oldalt.

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²

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 120);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var 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);

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, ahol az 1 osztva x-szel mutatja

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 100);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var fraction = new MathematicalText("1")
    .Divide("x", MathFractionTypes.Skewed);

mathParagraph.Add(new MathBlock(fraction));

presentation.Save("fraction.pptx", SaveFormat.Pptx);

Halmozott tört esetén használja a MathFractionTypes.Bar-t:

var 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, az argumentum pedig a kitevő.

n-edik gyök kifejezés, ahol az x a gyökjel alatt áll

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 100);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var radical = new MathematicalText("x")
    .Radical("n");

mathParagraph.Add(new MathBlock(radical));

presentation.Save("radical.pptx", SaveFormat.Pptx);

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

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 100);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var limit = new MathematicalText("lim")
    .SetLowerLimit("x→∞")
    .Function("x");

mathParagraph.Add(new MathBlock(limit));

presentation.Save("functions-and-limits.pptx", SaveFormat.Pptx);

Egyedi függvénynév esetén tegye a függvénynevet a jelenlegi elemként:

var customFunction = new MathematicalText("f").Function("x + 1");

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

Nary használatával hozhat összeadást, uniót, metszetet és egyéb nagy operátorokat. Az integrálokhoz használja az Integral-t. Mindkét metódus lehetővé teszi a felső és alsó határ beállítását.

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

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 120);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var summationBase = new MathematicalText("x")
    .SetSuperscript("k")
    .Join(new MathematicalText("a").SetSuperscript("n-k"));

var summation = summationBase.Nary(MathNaryOperatorTypes.Summation, "k=0", "n");

mathParagraph.Add(new MathBlock(summation));

presentation.Save("nary-operators.pptx", SaveFormat.Pptx);

Az N-árnyú operátorok nagy operátorok opcionális határokkal. Az egyszerű operátorok, mint +, -, és = általában MathematicalText-ként vannak hozzáadva és összefűzve a kifejezésbe.

Integrálhoz használja az Integral-t:

var integralBase = new MathematicalText("x").Join(new MathematicalText("dx").ToBox());
var integral = integralBase.Integral(MathIntegralTypes.Simple, "0", "1");

Mátrixok hozzáadása

A sorok és oszlopok definiálásához használja a MathMatrix elemet. A mátrixok alapértelmezés szerint nem tartalmaznak zárójeleket, ezért ha szükséges, zárja körül a mátrixot zárójelek, szögletes zárójelek vagy kapcsos zárójelek használatával.

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

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 120);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var matrix = new MathMatrix(2, 3);
matrix[0, 0] = new MathematicalText("1");
matrix[0, 1] = new MathematicalText("x");
matrix[1, 0] = new MathematicalText("x");
matrix[1, 1] = new MathematicalText("2");
matrix[1, 2] = new MathematicalText("y");

mathParagraph.Add(new MathBlock(matrix));

presentation.Save("matrix.pptx", SaveFormat.Pptx);

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.

Függőleges matematikai tömb, ahol az x a y felett áll

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 140);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var equationArray = new MathematicalText("x")
    .Join("y")
    .ToMathArray();

mathParagraph.Add(new MathBlock(equationArray));

presentation.Save("equation-array.pptx", SaveFormat.Pptx);

Trigonometrikus függvények hozzáadása

AsArgumentOfFunction használata akkor szükséges, ha az argumentum a jelenlegi elem, és a függvény neve ismert.

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

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 100);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var cosine = new MathematicalText("2x")
    .AsArgumentOfFunction(MathFunctionsOfOneArgument.Cos);

mathParagraph.Add(new MathBlock(cosine));

presentation.Save("trigonometric-function.pptx", SaveFormat.Pptx);

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

Az indexek és a hatványok hozzáadásához használja az alsó- és felsőindex segédeszközöket. Ha az indexeknek a bázis bal oldalán kell megjelenniük, használja a SetSubSuperscriptOnTheLeft-t.

Nagy Y betű baloldali al‑indexszel 1 és felsőindexszel n

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 100);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var scripts = new MathematicalText("Y")
    .SetSubSuperscriptOnTheLeft("1", "n");

mathParagraph.Add(new MathBlock(scripts));

presentation.Save("subscript-superscript.pptx", SaveFormat.Pptx);

Határolók hozzáadása

Enclose használatával helyezhet kifejezést határolók közé. Több elemet tartalmazó határolók esetén beállíthat elválasztó karaktert is.

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

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 100);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var delimiter = new MathematicalText("x")
    .Join("y")
    .Join("z")
    .Enclose('<', '>');
delimiter.SeparatorCharacter = '|';

mathParagraph.Add(new MathBlock(delimiter));

presentation.Save("delimiters.pptx", SaveFormat.Pptx);

Szegélyes keret hozzáadása

ToBorderBox akkor használatos, amikor magát az egyenletet keretbe kell helyezni.

Keretbe foglalt egyenlet, ahol a a² = b² + c²

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 100);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var 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);

Tagok csoportosítása

Group használatával helyezhet csoportosító karaktert egy kifejezés fölé vagy alá. Határral címkézheti a csoportosított tagokat.

Az x + y kifejezés csoportosítva, alatta egy ‘any text’ felirattal

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 120);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var 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);

Matematikai elemek formázása

A formázó segédeszközöket csak akkor használja, ha tisztábbá teszik a képletet. Például az Overbar egy vonalat helyez a matematikai elem fölé.

ABC matematikai kifejezés felülvonallal

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var mathShape = slide.Shapes.AddMathShape(20, 20, 700, 100);
var mathParagraph = ((MathPortion)mathShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;

var overbar = new MathematicalText("ABC").Overbar();

mathParagraph.Add(new MathBlock(overbar));

presentation.Save("overbar.pptx", 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 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
Összegzések é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 egy meglévő PowerPoint egyenletet?

Igen. Nyissa meg a prezentációt, keresse meg azt az alakzatot, amely MathPortion‑t tartalmaz, szerezze be a MathParagraph‑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 matematikaként írja.

Exportálhatom az egyenleteket LaTeX‑be?

Az Aspose.Slides a matematikai egyenleteket MathML‑be exportálja. Ha LaTeX‑re van szükség, először exportáljon MathML‑be, majd konvertálja a MathML‑t egy olyan eszközzel, amely támogatja a kívánt LaTeX dialektust.