Mathematische Gleichungen zu PowerPoint-Präsentationen in .NET hinzufügen
Übersicht
PowerPoint speichert Gleichungen als Office Math Markup Language (OMML). Mit Aspose.Slides für .NET können Sie dieselben mathematischen Inhalte programmgesteuert erstellen: Brüche, Radikale, Funktionen, Grenzen, N‑äre Operatoren, Matrizen, Arrays und formatierte Matheblöcke.
In PowerPoint fügen Benutzer Gleichungen normalerweise über Einfügen > Gleichung hinzu:

Das Ergebnis ist editierbarer Mathe‑Text auf der Folie:

Aspose.Slides erstellt diesen Mathe‑Text über drei Hauptobjekte:
- Ein mathematisches Shape, erstellt mit AddMathShape, ist das Shape, das die Gleichung enthält.
- MathPortion speichert mathematischen Inhalt im Textfeld des Shapes.
- MathParagraph enthält ein oder mehrere MathBlock-Objekte.
Die meisten Beispiele unten verwenden MathematicalText und die Fluent‑Methoden von IMathElement, um den Code kurz und lesbar zu halten.
Für MathML‑Export‑Szenarien siehe Export Math Equations from Presentations in .NET.
Gleichung erstellen
Dieses Beispiel erstellt ein mathematisches Shape und fügt den Satz des Pythagoras hinzu:

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 erstellt ein Shape, das bereits einen Math‑Paragraph enthält. Greifen Sie auf das erste MathPortion zu, holen Sie dessen MathParagraph und fügen Sie Math‑Blöcke oder Math‑Elemente hinzu.
Brüche hinzufügen
Verwenden Sie Divide, um einen Bruch zu erzeugen. Sie können einen Bruchstil mit MathFractionTypes auswählen.

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);
Für einen gestapelten Bruch verwenden Sie MathFractionTypes.Bar:
var stackedFraction = new MathematicalText("x + 1").Divide("y - 1", MathFractionTypes.Bar);
Radikale hinzufügen
Verwenden Sie Radical, um eine Quadratwurzel, Kubikwurzel oder andere Wurzel zu erzeugen. Das aktuelle Element wird zur Basis, das Argument zur Gradzahl.

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);
Funktionen und Grenzen hinzufügen
Verwenden Sie AsArgumentOfFunction oder Function für Funktionen wie sin(x), log(x) oder benutzerdefinierte Funktionsnamen. Für Grenzen setzen Sie lim in ein MathLimit oder verwenden SetLowerLimit.

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);
Für einen benutzerdefinierten Funktionsnamen machen Sie den Funktionsnamen zum aktuellen Element:
var customFunction = new MathematicalText("f").Function("x + 1");
N‑äre Operatoren und Integrale hinzufügen
Verwenden Sie Nary für Summen, Vereinigungen, Durchschnitte und andere große Operatoren. Verwenden Sie Integral für Integrale. Beide Methoden ermöglichen das Setzen von Unter‑ und Obergrenzen.

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);
N‑äre Operatoren dienen für große Operatoren mit optionalen Grenzen. Einfache Operatoren wie +, - und = werden normalerweise als MathematicalText hinzugefügt und zum Ausdruck verbunden.
Für ein Integral verwenden Sie Integral:
var integralBase = new MathematicalText("x").Join(new MathematicalText("dx").ToBox());
var integral = integralBase.Integral(MathIntegralTypes.Simple, "0", "1");
Matrizen hinzufügen
Verwenden Sie MathMatrix für Zeilen und Spalten. Matrizen enthalten standardmäßig keine Klammern, daher müssen Sie die Matrix selbst in Klammern, eckige Klammern oder geschweifte Klammern setzen, wenn diese benötigt werden.

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);
Gleichungsarrays hinzufügen
Verwenden Sie ToMathArray, wenn Sie ausgerichtete Gleichungen oder einen vertikalen Stapel von Ausdrücken benötigen.

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);
Trigonometrische Funktionen hinzufügen
Verwenden Sie AsArgumentOfFunction, wenn das Argument das aktuelle Element ist und der Funktionsname bekannt ist.

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);
Tief- und Hochstellungen hinzufügen
Verwenden Sie die Hilfsfunktionen für Tief‑ und Hochstellungen für Indizes und Potenzen. Wenn die Indizes links von der Basis erscheinen sollen, verwenden Sie SetSubSuperscriptOnTheLeft.

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);
Begrenzer hinzufügen
Verwenden Sie Enclose, um einen Ausdruck in Begrenzungszeichen zu setzen. Sie können auch ein Trennzeichen‑Zeichen für Begrenzungs‑Ausdrücke festlegen, die mehrere Elemente enthalten.

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);
Rahmenbox hinzufügen
Verwenden Sie ToBorderBox, wenn die Gleichung selbst eingerahmt werden soll.

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);
Terme gruppieren
Verwenden Sie Group, um ein Gruppierungszeichen über oder unter einem Ausdruck zu platzieren. Fügen Sie eine Grenze hinzu, um die gruppierten Terme zu beschriften.

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);
Mathematische Elemente formatieren
Verwenden Sie Formatierungs‑Hilfsfunktionen nur dort, wo sie die Formel klarer machen. Zum Beispiel setzt Overbar einen Balken über ein Mathe‑Element.

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);
Kurzreferenz
| Aufgabe | Haupt‑API |
|---|---|
| Mathetext erstellen | MathematicalText |
| Elemente kombinieren | IMathElement.Join |
| Brüche erstellen | IMathElement.Divide |
| Hoch- oder Tiefstellung hinzufügen | SetSuperscript, SetSubscript |
| Funktionen hinzufügen | Function, AsArgumentOfFunction |
| Radikale hinzufügen | IMathElement.Radical |
| Grenzen hinzufügen | SetLowerLimit, SetUpperLimit |
| Linksseitige Skripte hinzufügen | SetSubSuperscriptOnTheLeft |
| Summen und Integrale hinzufügen | Nary, Integral |
| Matrizen hinzufügen | MathMatrix |
| Gleichungsarrays hinzufügen | ToMathArray |
| Begrenzer hinzufügen | Enclose |
| Balken und Rahmen hinzufügen | Overbar, ToBorderBox |
| Terme gruppieren | Group |
FAQ
Kann ich eine bestehende PowerPoint‑Gleichung bearbeiten?
Ja. Öffnen Sie die Präsentation, finden Sie das Shape, das einen MathPortion enthält, holen Sie dessen MathParagraph und aktualisieren Sie die Math‑Blöcke in diesem Absatz.
Werden Gleichungen als editierbare PowerPoint‑Mathe gespeichert?
Ja. Beim Speichern als PPTX schreibt Aspose.Slides die Gleichung als editierbaren Office‑Math‑Inhalt.
Kann ich Gleichungen nach LaTeX exportieren?
Aspose.Slides exportiert Math‑Gleichungen nach MathML. Wenn Sie LaTeX benötigen, exportieren Sie zuerst nach MathML und konvertieren Sie das MathML anschließend mit einem Tool, das Ihr gewünschtes LaTeX‑Dialekt unterstützt.