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:

Az eredmény 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 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:

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);
AddMathShape egy olyan alakzatot hoz létre, amely már tartalmaz egy matematikai bekezdést. Hozzáfér az első MathPortion-hoz, lekéri a MathParagraph-ját, és hozzáadja a matematikai blokkokat vagy elemeket.
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.

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ő.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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é.

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.