PowerPoint mathematik Gleichungen
Übersicht
In PowerPoint ist es möglich, eine mathematische Gleichung oder Formel zu schreiben und sie in der Präsentation anzuzeigen. Dazu sind verschiedene mathematische Symbole in PowerPoint vorhanden, die zum Text oder zur Gleichung hinzugefügt werden können. Dafür wird der Konstruktor für mathematische Gleichungen in PowerPoint verwendet, der hilft, komplexe Formeln zu erstellen wie:
- Mathematische Brüche
- Mathematische Wurzeln
- Mathematische Funktionen
- Grenzwerte und Logarithmusfunktionen
- N-äre Operationen
- Matrizen
- Große Operatoren
- Sinus-, Kosinusfunktionen
Um eine mathematische Gleichung in PowerPoint hinzuzufügen, wird das Menü Einfügen -> Gleichung verwendet:
Dies erstellt einen mathematischen Text im XML-Format, der in PowerPoint wie folgt angezeigt werden kann:
PowerPoint unterstützt zahlreiche mathematische Symbole zur Erstellung mathematischer Gleichungen. Allerdings führt die Erstellung komplizierter mathematischer Gleichungen in PowerPoint oft nicht zu einem guten und professionell aussehenden Ergebnis. Benutzer, die häufig mathematische Präsentationen erstellen müssen, greifen auf die Verwendung von Drittanbieterlösungen zurück, um ansprechend aussehende mathematische Formeln zu erstellen.
Mit der Aspose.Slide API können Sie programmgesteuert an mathematischen Gleichungen in PowerPoint-Präsentationen in C# arbeiten. Erstellen Sie neue mathematische Ausdrucke oder bearbeiten Sie zuvor erstellte. Der Export mathematischer Strukturen in Bilder wird ebenfalls teilweise unterstützt.
So erstellen Sie eine mathematische Gleichung
Mathematische Elemente werden verwendet, um mathematische Konstruktionen mit beliebigem Verschachtelungsgrad zu erstellen. Eine lineare Sammlung mathematischer Elemente bildet einen mathematischen Block, der durch die MathBlock-Klasse dargestellt wird. Die MathBlock-Klasse ist im Wesentlichen ein separater mathematischer Ausdruck, eine Formel oder eine Gleichung. MathPortion ist ein mathematischer Teil, der verwendet wird, um mathematischen Text zu halten (nicht mit Portion zu verwechseln). MathParagraph ermöglicht die Manipulation einer Gruppe von mathematischen Blöcken. Die oben genannten Klassen sind der Schlüssel, um mit mathematischen Gleichungen in PowerPoint über die Aspose.Slides API zu arbeiten.
Lassen Sie uns sehen, wie wir die folgende mathematische Gleichung über die Aspose.Slides API erstellen können:
Um einen mathematischen Ausdruck auf der Folie hinzuzufügen, fügen Sie zuerst eine Form hinzu, die den mathematischen Text enthalten wird:
$pres = new Presentation();
try {
$mathShape = $pres->getSlides()->get_Item(0)->getShapes()->addMathShape(0, 0, 720, 150);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Nach der Erstellung enthält die Form standardmäßig bereits einen Absatz mit einem mathematischen Teil. Die MathPortion-Klasse ist ein Teil, der einen mathematischen Text enthält. Um auf den mathematischen Inhalt innerhalb der MathPortion zuzugreifen, verweisen Sie auf die MathParagraph-Variable:
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()->get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
Die MathParagraph-Klasse ermöglicht es, mathematische Blöcke (MathBlock) zu lesen, hinzuzufügen, zu bearbeiten und zu löschen, die aus einer Kombination mathematischer Elemente bestehen. Erstellen Sie zum Beispiel einen Bruch und platzieren Sie ihn in der Präsentation:
$fraction = new MathematicalText("x")->divide("y");
$mathParagraph->add(new MathBlock($fraction));
Jedes mathematische Element wird durch eine Klasse dargestellt, die das IMathElement-Interface implementiert. Dieses Interface bietet viele Methoden zum einfachen Erstellen mathematischer Ausdrücke. Sie können einen ziemlich komplexen mathematischen Ausdruck mit nur einer Zeile Code erstellen. Zum Beispiel würde der Satz des Pythagoras so aussehen:
$mathBlock = new MathematicalText("c")->setSuperscript("2")->join("=")->join(new MathematicalText("a")->setSuperscript("2"))->join("+")->join(new MathematicalText("b")->setSuperscript("2"));
Die Operationen des IMathElement-Interfaces werden in jedem Elementtyp implementiert, einschließlich des MathBlock.
Das vollständige Quellcodebeispiel:
$pres = new Presentation();
try {
$mathShape = $pres->getSlides()->get_Item(0)->getShapes()->addMathShape(0, 0, 720, 150);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()->get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$fraction = new MathematicalText("x")->divide("y");
$mathParagraph->add(new MathBlock($fraction));
$mathBlock = new MathematicalText("c")->setSuperscript("2")->join("=")->join(new MathematicalText("a")->setSuperscript("2"))->join("+")->join(new MathematicalText("b")->setSuperscript("2"));
$mathParagraph->add($mathBlock);
$pres->save("math.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Mathematische Elementtypen
Mathematische Ausdrücke bestehen aus Sequenzen mathematischer Elemente. Die Sequenz mathematischer Elemente wird durch einen mathematischen Block dargestellt, und die Argumente mathematischer Elemente bilden eine baumartige Verschachtelung.
Es gibt viele Typen mathematischer Elemente, die zur Konstruktion eines mathematischen Blocks verwendet werden können. Jedes dieser Elemente kann in ein anderes Element eingeschlossen (aggregiert) werden. Das heißt, Elemente sind tatsächlich Container für andere, die eine baumartige Struktur bilden. Der einfachste Typ von Elementen enthält keine anderen Elemente des mathematischen Textes.
Jeder Typ eines mathematischen Elements implementiert das IMathElement-Interface, das die Verwendung der allgemeinen Menge mathematischer Operationen auf verschiedenen Typen mathematischer Elemente ermöglicht.
MathematicalText-Klasse
Die MathematicalText-Klasse repräsentiert einen mathematischen Text - das zugrunde liegende Element aller mathematischen Konstruktionen. Mathematischer Text kann Operanden und Operatoren, Variablen und jeden anderen linearen Text darstellen.
Beispiel: 𝑎=𝑏+𝑐
MathFraction-Klasse
Die MathFraction-Klasse spezifiziert das Bruchobjekt, das aus einem Zähler und einem Nenner besteht, die durch eine Bruchlinie getrennt sind. Die Bruchlinie kann horizontal oder diagonal sein, abhängig von den Bruch Eigenschaften. Das Bruchobjekt wird auch verwendet, um die Stacked-Funktion darzustellen, die ein Element über einem anderen platziert, ohne eine Bruchlinie.
Beispiel:
MathRadical-Klasse
Die MathRadical-Klasse spezifiziert die radikale Funktion (mathematische Wurzel), die aus einer Basis und einem optionalen Grad besteht.
Beispiel:
MathFunction-Klasse
Die MathFunction-Klasse spezifiziert eine Funktion eines Arguments. Enthält Eigenschaften: getName - Funktionsname und getBase - Funktionsargument.
Beispiel:
MathNaryOperator-Klasse
Die MathNaryOperator-Klasse spezifiziert ein N-äres mathematisches Objekt, wie Summation und Integral. Es besteht aus einem Operator, einer Basis (oder Operand) und optionalen oberen und unteren Grenzen. Beispiele für N-äre Operatoren sind Summation, Union, Intersection, Integral.
Diese Klasse beinhaltet keine einfachen Operatoren wie Addition, Subtraktion usw. Sie werden durch ein einzelnes Textelement - MathematicalText dargestellt.
Beispiel:
MathLimit-Klasse
Die MathLimit-Klasse erstellt die obere oder untere Grenze. Sie spezifiziert das Grenzwertobjekt, das aus Text auf der Basislinie und Text in reduzierter Größe, der sofort darüber oder darunter steht, besteht. Dieses Element schließt das Wort “lim” nicht ein, erlaubt es aber, Text oben oder unten im Ausdruck zu platzieren. So wird der Ausdruck
mit einer Kombination aus MathFunction und MathLimit-Elementen auf diese Weise erstellt:
$funcName = new MathLimit(new MathematicalText("lim"), new MathematicalText("𝑥→∞"));
$mathFunc = new MathFunction($funcName, new MathematicalText("𝑥"));
MathSubscriptElement, MathSuperscriptElement, MathRightSubSuperscriptElement, MathLeftSubSuperscriptElement-Klassen
- MathSubscriptElement
- MathSuperscriptElement
- MathRightSubSuperscriptElement
- MathLeftSubSuperscriptElement
Die folgenden Klassen spezifizieren einen tiefen Index oder einen oberen Index. Sie können gleichzeitig ein Subscript und Superscript auf der linken oder rechten Seite eines Arguments setzen, aber ein einfaches Subscript oder Superscript wird nur auf der rechten Seite unterstützt. Das MathSubscriptElement kann auch verwendet werden, um den mathematischen Grad einer Zahl zu setzen.
Beispiel:
MathMatrix-Klasse
Die MathMatrix-Klasse spezifiziert das Matrixobjekt, das aus untergeordneten Elementen besteht, die in einer oder mehreren Reihen und Spalten angeordnet sind. Es ist wichtig zu beachten, dass Matrizen keine eingebauten Begrenzer haben. Um die Matrix in Klammern zu setzen, sollten Sie das Begrenzerobjekt - IMathDelimiter verwenden. Null-Argumente können verwendet werden, um Lücken in Matrizen zu erstellen.
Beispiel:
MathArray-Klasse
Die MathArray-Klasse spezifiziert ein vertikales Array von Gleichungen oder beliebigen mathematischen Objekten.
Beispiel:
Formatierung mathematischer Elemente
-
Die MathBorderBox-Klasse: zieht einen rechteckigen oder einen anderen Rahmen um das IMathElement.
Beispiel:
-
Die MathBox-Klasse: spezifiziert das logische Boxen (Verpacken) des mathematischen Elements. Zum Beispiel kann ein eingekreistes Objekt als Operator-Ersatz dienen mit oder ohne Ausrichtungspunkt, als Zeilenumbruch dienen oder so gruppiert werden, dass innerhalb keine Zeilenumbrüche erlaubt sind. Zum Beispiel sollte der Operator “==” eingekreist werden, um Zeilenumbrüche zu vermeiden.
-
Die MathDelimiter-Klasse: spezifiziert das Begrenzerobjekt, das aus öffnenden und schließenden Zeichen (wie Klammern, geschweifte Klammern, eckige Klammern und senkrechte Striche) besteht und ein oder mehrere mathematische Elemente enthält, die durch ein angegebenes Zeichen getrennt sind. Beispiele: (𝑥2); [𝑥2|𝑦2].
Beispiel:
-
Die MathAccent-Klasse: spezifiziert die Akzentfunktion, die aus einer Basis und einem kombinierenden diakritischen Zeichen besteht.
Beispiel: 𝑎́.
-
Die MathBar-Klasse: spezifiziert die Balkenfunktion, die aus einem Basisargument und einem Über- oder Unterbalken besteht.
Beispiel:
-
Die MathGroupingCharacter-Klasse: spezifiziert ein Gruppierungszeichen über oder unter einem Ausdruck, normalerweise um die Beziehungen zwischen Elementen hervorzuheben.
Beispiel:
Mathematische Operationen
Jedes mathematische Element und jeder mathematische Ausdruck (über MathBlock) implementiert das IMathElement -Interface. Es ermöglicht Ihnen, Operationen auf der vorhandenen Struktur zu verwenden und komplexere mathematische Ausdrücke zu bilden. Alle Operationen haben zwei Parametergruppen: entweder IMathElement oder Zeichenfolgen als Argumente. Instanzen der MathematicalText -Klasse werden implizit aus angegebenen Zeichenfolgen erstellt, wenn Zeichenfolgenargumente verwendet werden. Mathematikoperationen, die in Aspose.Slides verfügbar sind, sind unten aufgeführt.
Join-Methode
Verbindet ein mathematisches Element und bildet einen mathematischen Block. Zum Beispiel:
$element1 = new MathematicalText("x");
$element2 = new MathematicalText("y");
$block = $element1->join($element2);
Divide-Methode
- divide(String)
- divide(IMathElement)
- divide(String, MathFractionTypes)
- divide(IMathElement, MathFractionTypes)
Erstellt einen Bruch des angegebenen Typs mit diesem Zähler und dem angegebenen Nenner. Zum Beispiel:
$numerator = new MathematicalText("x");
$fraction = $numerator->divide("y", MathFractionTypes->Linear);
Enclose-Methode
Umfasst das Element in angegebenen Zeichen wie Klammern oder einem anderen Zeichen als Rahmen.
Zum Beispiel:
$delimiter = new MathematicalText("x")->enclose('[', ']');
$delimiter2 = new MathematicalText("elem1")->join("elem2")->enclose();
Function-Methode
Nimmt eine Funktion eines Arguments unter Verwendung des aktuellen Objekts als Funktionsnamen.
Zum Beispiel:
$func = new MathematicalText("sin")->function("x");
AsArgumentOfFunction-Methode
- asArgumentOfFunction(String)
- asArgumentOfFunction(IMathElement)
- asArgumentOfFunction(MathFunctionsOfOneArgument)
- asArgumentOfFunction(MathFunctionsOfTwoArguments, IMathElement)
- asArgumentOfFunction(MathFunctionsOfTwoArguments, String)
Nimmt die angegebene Funktion unter Verwendung der aktuellen Instanz als Argument. Sie können:
- einen String als Funktionsnamen angeben, z.B. “cos”.
- einen der vordefinierten Werte der Aufzählungen MathFunctionsOfOneArgument oder MathFunctionsOfTwoArguments auswählen, z.B. MathFunctionsOfOneArgument.ArcSin.
- die Instanz des IMathElement auswählen.
Zum Beispiel:
$funcName = new MathLimit(new MathematicalText("lim"), new MathematicalText("𝑛→∞"));
$func1 = new MathematicalText("2x")->asArgumentOfFunction($funcName);
$func2 = new MathematicalText("x")->asArgumentOfFunction("sin");
$func3 = new MathematicalText("x")->asArgumentOfFunction(MathFunctionsOfOneArgument->Sin);
$func4 = new MathematicalText("x")->asArgumentOfFunction(MathFunctionsOfTwoArguments->Log, "3");
SetSubscript, SetSuperscript, SetSubSuperscriptOnTheRight, SetSubSuperscriptOnTheLeft-Methoden
- setSubscript(String)
- setSubscript(IMathElement)
- setSuperscript(String)
- setSuperscript(IMathElement)
- setSubSuperscriptOnTheRight(String, String)
- setSubSuperscriptOnTheRight(IMathElement, IMathElement)
- setSubSuperscriptOnTheLeft(String, String)
- setSubSuperscriptOnTheLeft(IMathElement, IMathElement)
Setzt Subscript und Superscript. Sie können Subscript und Superscript gleichzeitig auf der linken oder rechten Seite des Arguments setzen, allerdings wird einfaches Subscript oder Superscript nur auf der rechten Seite unterstützt. Das Superscript kann auch verwendet werden, um den mathematischen Grad einer Zahl zu setzen.
Beispiel:
$script = new MathematicalText("y")->setSubSuperscriptOnTheLeft("2x", "3z");
Radical-Methode
Spezifiziert die mathematische Wurzel des gegebenen Grades vom angegebenen Argument.
Beispiel:
$radical = new MathematicalText("x")->radical("3");
SetUpperLimit und SetLowerLimit-Methoden
Nimmt die obere oder untere Grenze. Hierkennzeichnen die obere und untere einfach die Position des Arguments relativ zur Basis.
Betrachten wir einen Ausdruck:
Solche Ausdrücke können durch eine Kombination von Klassen MathFunction und MathLimit und Operationen des IMathElement wie folgt erstellt werden:
$mathExpression = new MathematicalText("lim")->setLowerLimit("x→∞")->function("x");
Nary und Integral-Methoden
- nary(MathNaryOperatorTypes, IMathElement, IMathElement)
- nary(MathNaryOperatorTypes, String, String)
- integral(MathIntegralTypes)
- integral(MathIntegralTypes, IMathElement, IMathElement)
- integral(MathIntegralTypes, String, String)
- integral(MathIntegralTypes, IMathElement, IMathElement, MathLimitLocations)
- integral(MathIntegralTypes, String, String, MathLimitLocations)
Sowohl die nary als auch die integral-Methoden erstellen und geben den N-ären Operator zurück, der durch den IMathNaryOperator-Typ dargestellt wird. In der nary-Methode gibt die MathNaryOperatorTypes-Aufzählung den Typ des Operators an: Summation, Union usw., nicht einschließlich Integrale. In der Integral-Methode gibt es die spezialisierte Operation Integral mit der Aufzählung der Integraltypen MathIntegralTypes.
Beispiel:
$baseArg = new MathematicalText("x")->join(new MathematicalText("dx")->toBox());
$integral = $baseArg->integral(MathIntegralTypes->Simple, "0", "1");
ToMathArray-Methode
toMathArray platziert Elemente in einem vertikalen Array. Wenn diese Operation für eine MathBlock-Instanz aufgerufen wird, werden alle untergeordneten Elemente im zurückgegebenen Array platziert.
Beispiel:
$arrayFunction = new MathematicalText("x")->join("y")->toMathArray();
Formatierungsoperationen: Akzent, Überstrich, Unterstrich, Gruppe, ZuBorderBox, ZuBox
- Die accent Methode setzt ein Akzentzeichen (ein Zeichen oben auf dem Element).
- Die overbar und die underbar Methoden setzen einen Balken oben oder unten.
- Die group Methode platziert in einer Gruppe mit einem Gruppierungszeichen wie einer unteren geschweiften Klammer oder einem anderen.
- Die toBorderBox Methode platziert in einer Rahmeneinheit.
- Die toBox Methode platziert in einer nicht sichtbaren Box (logische Gruppierung).
Beispiele:
$accent = new MathematicalText("x")->accent('̃');
$bar = new MathematicalText("x")->overbar();
$groupChr = new MathematicalText("x")->join("y")->join("z")->group('⏡', MathTopBotPositions::Bottom, MathTopBotPositions::Top);
$borderBox = new MathematicalText("x+y+z")->toBorderBox();
$boxedOperator = new MathematicalText(":=")->toBox();