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

Áttekintés

A PowerPoint egyenleteket Office Math Markup Language (OMML) formátumban tárol. Az Aspose.Slides for .NET segítségével programozottan létrehozhatja ugyanazt a típusú matematikai tartalmat: törtöket, gyököket, függvényeket, határokat, N-áras operátorokat, mátrixokat, tömböket és formázott matematikai blokkokat.

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

PowerPoint Beszúrás lap az Egyenlet parancs kiválasztva

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

PowerPoint dia, amely szerkeszthető matematikai egyenletet tartalmaz

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

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

A lenti 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 esetekhez lásd a Export Math Equations from Presentations in .NET.

Egyenlet létrehozása

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

c² = a² + b² egyenlet

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

A Divide segítségével hozhat létre törtrészletet. A tört stílusát a MathFractionTypes segítségével választhatja.

Dőlt matematikai tört, amely 1/x-et ábrázol

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

Egy egymásra helyezett 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

A Radical segítségével 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

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

Használja a AsArgumentOfFunction vagy a Function metódust olyan függvényekhez, mint a sin(x), log(x), vagy egyedi függvénynevek. Határokhoz helyezze a lim-et egy MathLimit‑ba, vagy használja a SetLowerLimit‑et.

x határa, ahogy 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évhez tegye a függvénynevet a jelenlegi elemmé:

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

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

A Nary‑t használja összegeknél, unióknál, metszetknél és más nagy operátoroknál. Az integrálokhoz használja az Integral‑t. 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

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-ary operátorok nagy operátorokhoz opcionális határokkal. Az egyszerű operátorok, mint a +, -, és = általában MathematicalText‑ként kerülnek hozzáadásra és fűzhetők az 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

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 a mátrixot zárójelek, szögletes vagy kapcsos zárójelek közé kell helyezni, ha szükséges.

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éstömbre van szüksége.

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

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

Használja az AsArgumentOfFunction‑t, ha az argumentum a jelenlegi elem, és a függvény neve ismert.

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

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

Használja az alsó- és felső index segédeket indexek és hatványok számára. Ha az indexeknek a bázis bal oldalán kell megjelenniük, használja a SetSubSuperscriptOnTheLeft‑t.

Nagy Y bal oldali alsó indexe 1 és felső indexe 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

Használja az Enclose‑t, hogy egy kifejezést határolók közé helyezzen. Beállíthat egy elválasztó karaktert a több elemet tartalmazó határoló kifejezésekhez is.

Határoló kifejezés, amely x, y és z‑t 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ély doboz hozzáadása

Használja a ToBorderBox‑t, ha maga az egyenlet keretet igényel.

Dobozba helyezett egyenlet, amely a² = b² + c² 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 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);

Kifejezések csoportosítása

Használja a Group‑ot, hogy egy csoportosító karaktert tegyen a kifejezés fölé vagy alá. Hozzon létre egy határértéket a csoportosított kifejezések címkézéséhez.

Az x + y kifejezés csoportosítva, alatta bármilyen szövegcímkével

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

Csak akkor használjon formázó segédeket, ha az a képletet tisztázza. Például az Overbar egy sávot helyez egy matematikai elem fölé.

ABC matematikai kifejezés overbarrel

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 kombinálá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
Sávok és keretek hozzáadása Overbar, ToBorderBox
Kifejezések csoportosítása Group

GYIK

Szerkeszthető-e egy meglévő PowerPoint egyenlet?

Igen. Nyissa meg a bemutató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‑re mentéskor az Aspose.Slides az egyenletet szerkeszthető Office matematikaként írja.

Exportálhatom az egyenleteket LaTeX‑be?

Igen. Szerezze meg az egyenlet IMathParagraph objektumát a MathPortion segítségével, és hívja meg a IMathParagraph.ToLatex metódust a közvetlen exportáláshoz. Teljes példáért lásd a Export Math Equations from Presentations in .NET.