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:

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

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:

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 olyan alakzatot hoz létre, amely már tartalmaz egy matematikai bekezdést. A első MathPortion-hez fér hozzá, lekéri annak MathParagraph-ját, és hozzáadja a matematika 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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.