PowerPoint Mathematik Gleichungen

Übersicht

In PowerPoint ist es möglich, eine Mathematik Gleichung oder Formel zu schreiben und sie in der Präsentation anzuzeigen. Dazu werden verschiedene mathematische Symbole in PowerPoint dargestellt und können zum Text oder zur Gleichung hinzugefügt werden. Dafür wird der Mathematik Gleichungen Konstruktor in PowerPoint verwendet, der hilft, komplexe Formeln zu erstellen, wie:

  • Mathematische Brüche
  • Mathematische Wurzeln
  • Mathematische Funktionen
  • Grenzen und Logarithmusfunktionen
  • N-äre Operationen
  • Matrizen
  • Große Operatoren
  • Sinus-, Cosinusfunktionen

Um eine mathematische Gleichung in PowerPoint hinzuzufügen, wird das Menü Einfügen -> Gleichung verwendet:

todo:image_alt_text

Dies wird einen mathematischen Text in XML erstellen, der in PowerPoint wie folgt angezeigt werden kann: 

todo:image_alt_text

PowerPoint unterstützt eine Vielzahl von mathematischen Symbolen zur Erstellung von Gleichungen. Allerdings führt die Erstellung komplizierter Mathematik Gleichungen in PowerPoint oft nicht zu einem guten und professionellen Ergebnis. Nutzer, die häufig mathematische Präsentationen erstellen müssen, greifen auf die Verwendung von Drittanbieter-Lösungen zurück, um ansprechend aussehende mathematische Formeln zu erstellen.

Mit der Aspose.Slide API können Sie programmatisch in Python mit mathematischen Gleichungen in PowerPoint-Präsentationen arbeiten. Erstellen Sie neue mathematische Ausdrücke oder bearbeiten Sie zuvor erstellte. Der Export mathematischer Strukturen in Bilder wird ebenfalls teilweise unterstützt.

Wie man eine mathematische Gleichung erstellt

Mathematische Elemente werden verwendet, um komplexe mathematische Konstruktionen mit beliebiger Verschachtelung zu bauen. Eine lineare Sammlung von mathematischen Elementen bildet einen mathematischen Block, der durch die MathBlock Klasse repräsentiert wird. Die MathBlock Klasse ist im Wesentlichen ein separates mathematisches Ausdruck, Formel oder Gleichung. MathPortion ist ein mathematischer Abschnitt, der dazu verwendet wird, mathematischen Text zu halten (nicht zu verwechseln mit Portion). Die MathParagraph ermöglicht die Manipulation eines Satzes von Mathematikblöcken. Die oben genannten Klassen sind der Schlüssel zur Arbeit mit PowerPoint Mathematik Gleichungen über die Aspose.Slides API.

Schauen wir uns an, wie wir die folgende mathematische Gleichung über die Aspose.Slides API erstellen können:

todo:image_alt_text

Um einen mathematischen Ausdruck auf der Folie hinzuzufügen, fügen Sie zunächst eine Form hinzu, die den mathematischen Text enthalten wird:

import aspose.slides as slides
import aspose.slides.mathtext as math

with slides.Presentation() as pres:
    mathShape = pres.slides[0].shapes.add_math_shape(0, 0, 720, 150)

Nach der Erstellung wird die Form standardmäßig bereits einen Absatz mit einem mathematischen Abschnitt enthalten. Die MathPortion Klasse ist ein Abschnitt, der mathematischen Text enthält. Um auf den mathematischen Inhalt innerhalb der MathPortion zuzugreifen, verweisen Sie auf die MathParagraph Variable:

    mathParagraph = mathShape.text_frame.paragraphs[0].portions[0].math_paragraph

Die MathParagraph Klasse ermöglicht das Lesen, Hinzufügen, Bearbeiten und Löschen von Mathematikblöcken (MathBlock), die aus einer Kombination von mathematischen Elementen bestehen. Zum Beispiel, erstellen Sie einen Bruch und platzieren Sie ihn in der Präsentation:

    fraction = math.MathematicalText("x").divide("y")
    mathParagraph.add(math.MathBlock(fraction))

Jedes mathematische Element wird durch eine Klasse dargestellt, die das IMathElement Interface implementiert. Dieses Interface bietet viele Methoden zur einfachen Erstellung mathematischer Ausdrücke. Sie können einen ziemlich komplexen mathematischen Ausdruck mit einer einzigen Codezeile erstellen. Zum Beispiel würde der Satz des Pythagoras so aussehen:

    mathBlock = (
        math.MathematicalText("c").set_superscript("2").
            join("=").
            join(math.MathematicalText("a").set_superscript("2")).
            join("+").
            join(math.MathematicalText("b").set_superscript("2")))

Die Operationen des Interfaces IMathElement sind in jedem Typ von Element implementiert, einschließlich des MathBlock.

Der vollständige Quellcode Beispiel:

import aspose.slides as slides
import aspose.slides.mathtext as math

with slides.Presentation() as pres:
    mathShape = pres.slides[0].shapes.add_math_shape(0, 0, 720, 150)

    mathParagraph = mathShape.text_frame.paragraphs[0].portions[0].math_paragraph

    fraction = math.MathematicalText("x").divide("y")
    mathParagraph.add(math.MathBlock(fraction))

    mathBlock = (
        math.MathematicalText("c").set_superscript("2").
            join("=").
            join(math.MathematicalText("a").set_superscript("2")).
            join("+").
            join(math.MathematicalText("b").set_superscript("2")))

    mathParagraph.add(mathBlock)

    pres.save("math.pptx", slides.export.SaveFormat.PPTX)

Mathematische Elementtypen

Mathematische Ausdrücke bestehen aus Sequenzen mathematischer Elemente. Die Sequenz von mathematischen Elementen wird durch einen mathematischen Block repräsentiert, und die Argumente der mathematischen Elemente bilden eine baumartige Verschachtelung.

Es gibt viele Typen von mathematischen Elementen, die zur Konstruktion eines mathematischen Blocks verwendet werden können. Jedes dieser Elemente kann in ein anderes Element eingebunden (aggregiert) werden. Das heißt, Elemente sind tatsächlich Container für andere und bilden eine baumartige Struktur. Der einfachste Elementtyp enthält keine anderen Elemente des mathematischen Textes.

Jeder Typ des Mathematikelements implementiert das IMathElement Interface, das die Verwendung von gemeinsamen mathematischen Operationen auf verschiedenen Typen von Mathe-Elementen 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 Stapelfunktion darzustellen, die ein Element über dem anderen platziert, ohne dass eine Bruchlinie vorhanden ist.

Beispiel:

todo:image_alt_text

MathRadical Klasse

Die MathRadical Klasse spezifiziert die radikale Funktion (mathematische Wurzel), die aus einer Basis und einem optionalen Grad besteht.

Beispiel:

todo:image_alt_text

MathFunction Klasse

Die MathFunction Klasse spezifiziert eine Funktion eines Arguments. Enthält Eigenschaften: Name - Funktionsname und Base - Funktionsargument.

Beispiel:

todo:image_alt_text

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, Vereinigungen, Schnittmengen, Integrale.

Diese Klasse umfasst keine einfachen Operatoren wie Addition, Subtraktion und so weiter. Sie werden durch ein einzelnes Textelement - MathematicalText - dargestellt.

Beispiel:

todo:image_alt_text

MathLimit Klasse

Die MathLimit Klasse erstellt die obere oder untere Grenze. Sie spezifiziert das Grenzwertobjekt, das aus Text auf der Grundlinie und Text in reduzierter Größe direkt darüber oder darunter besteht. Dieses Element umfasst nicht das Wort „lim“, erlaubt jedoch das Platzieren von Text an der Ober- oder Unterseite der Gleichung. So wird der Ausdruck 

todo:image_alt_text

geschaffen, indem eine Kombination der MathFunction und MathLimit Elemente auf folgende Weise verwendet wird:

    funcName = math.MathLimit(math.MathematicalText("lim"), math.MathematicalText("𝑥→∞"))
    mathFunc = math.MathFunction(funcName, math.MathematicalText("𝑥"))

MathSubscriptElement, MathSuperscriptElement, MathRightSubSuperscriptElement, MathLeftSubSuperscriptElement Klassen

Die folgenden Klassen spezifizieren einen tiefen Index oder einen hohen Index. Sie können den Subscript und Superscript gleichzeitig an der linken oder rechten Seite eines Arguments setzen, aber ein einzelner Subscript oder Superscript wird nur auf der rechten Seite unterstützt. Der MathSubscriptElement kann auch verwendet werden, um den mathematischen Grad einer Zahl festzulegen.

Beispiel: 

todo:image_alt_text

MathMatrix Klasse

Die MathMatrix Klasse spezifiziert das Matrixobjekt, das aus Kind-Elementen besteht, die in einer oder mehreren Zeilen und Spalten angeordnet sind. Es ist wichtig zu beachten, dass Matrizen keine eingebauten Trennzeichen haben. Um die Matrix in Klammern zu setzen, sollten Sie das Trennzeichen-Objekt - IMathDelimiter verwenden. Nullargumente können verwendet werden, um Lücken in Matrizen zu schaffen.

Beispiel: 

todo:image_alt_text

MathArray Klasse

Die MathArray Klasse spezifiziert ein vertikales Array von Gleichungen oder anderen mathematischen Objekten.

Beispiel: 

todo:image_alt_text

Formatierung mathematischer Elemente

  • Die MathBorderBox Klasse: zeichnet einen rechteckigen oder anderen Rahmen um das IMathElement.

    Beispiel: todo:image_alt_text

  • Die MathBox Klasse: spezifiziert das logische Boxen (Packaging) des mathematischen Elements. Zum Beispiel kann ein gekästetes Objekt als Operator-Emulator mit oder ohne Ausrichtungspunkt dienen, als Zeilenumbruch dienen oder gruppiert werden, um Copyright zu verhindern. Zum Beispiel sollte der „==“ Operator gekästet werden, um Zeilenumbrüche zu verhindern.

  • Die MathDelimiter Klasse: spezifiziert das Trennzeichenobjekt, das aus öffnenden und schließenden Zeichen (wie Klammern, geschweifte Klammern, eckige Klammern und senkrechte Striche) sowie einem oder mehreren mathematischen Elementen innerhalb besteht, die durch ein angegebenes Zeichen getrennt sind. Beispiele: (𝑥2); [𝑥2|𝑦2].

    Beispiel: todo:image_alt_text

  • Die MathAccent Klasse: spezifiziert die Akzent-Funktion, die aus einer Basis und einem kombinierenden diakritischen Zeichen besteht.

    Beispiel: 𝑎́.

  • Die MathBar Klasse: spezifiziert die Bar-Funktion, die aus einem Basisargument und einem Überstrich oder Unterstrich besteht.

    Beispiel: todo:image_alt_text

  • Die MathGroupingCharacter Klasse: spezifiziert ein Gruppierungssymbol über oder unter einem Ausdruck, normalerweise um die Beziehungen zwischen Elementen hervorzuheben.

    Beispiel: todo:image_alt_text

Mathematische Operationen

Jedes mathematische Element und jeder mathematische Ausdruck (über MathBlock) implementiert das IMathElement Interface. Es ermöglicht die Verwendung von Operationen auf der bestehenden Struktur und die Bildung komplexerer mathematischer Ausdrücke. Alle Operationen haben zwei Parametersätze: entweder IMathElement oder String 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 = math.MathematicalText("x")
    element2 = math.MathematicalText("y")
    block = element1.join(element2)

Divide Methode

Erstellt einen Bruch des angegebenen Typs mit diesem Zähler und dem angegebenen Nenner. Zum Beispiel:

    numerator = math.MathematicalText("x")
    fraction = numerator.divide("y", math.MathFractionTypes.LINEAR)

Enclose Methode

Umrahmt das Element in festgelegten Zeichen wie Klammern oder einem anderen Zeichen als Rahmen.

# Umrahmt ein mathematisches Element in Klammern
MathDelimiter enclose()

# Umrahmt dieses Element in festgelegten Zeichen wie Klammern oder einem anderen Zeichen als Rahmen
MathDelimiter enclose(char beginningCharacter, char endingCharacter)

Zum Beispiel:

    delimiter = math.MathematicalText("x").enclose('[', ']')
    delimiter2 = math.MathematicalText("elem1").join("elem2").enclose()

Function Methode

Nimmt eine Funktion eines Arguments und verwendet das aktuelle Objekt als Funktionsnamen.

Zum Beispiel:

func = math.MathematicalText("sin").function("x")

AsArgumentOfFunction Methode

Nimmt die angegebene Funktion und verwendet die aktuelle Instanz als Argument. Sie können:

Zum Beispiel:

    funcName = math.MathLimit(math.MathematicalText("lim"), math.MathematicalText("𝑛→∞"))
    func1 = math.MathematicalText("2x").as_argument_of_function(funcName)
    func2 = math.MathematicalText("x").as_argument_of_function("sin")
    func3 = math.MathematicalText("x").as_argument_of_function(math.MathFunctionsOfOneArgument.SIN)
    func4 = math.MathematicalText("x").as_argument_of_function(math.MathFunctionsOfTwoArguments.LOG, "3")

SetSubscript, SetSuperscript, SetSubSuperscriptOnTheRight, SetSubSuperscriptOnTheLeft Methoden

Setzt Subscript und Superscript. Sie können Subscript und Superscript gleichzeitig an der linken oder rechten Seite des Arguments setzen, aber single Subscript oder Superscript wird nur auf der rechten Seite unterstützt. Der Superscript kann auch verwendet werden, um den mathematischen Grad einer Zahl festzulegen.

Beispiel:

    script = math.MathematicalText("y").set_sub_superscript_on_the_left("2x", "3z")

Radical Methode

Spezifiziert die mathematische Wurzel des gegebenen Grades vom angegebenen Argument.

Beispiel:

    radical = math.MathematicalText("x").radical("3")

SetUpperLimit und SetLowerLimit Methoden

Nimmt die obere oder untere Grenze. Hier zeigen die oberen und unteren einfach den Standort des Arguments relativ zur Basis an.

Betrachten wir einen Ausdruck: 

todo:image_alt_text

Solche Ausdrücke können durch eine Kombination der Klassen MathFunction und MathLimit sowie Operationen des IMathElement wie folgt erstellt werden:

mathExpression = math.MathematicalText("lim").set_lower_limit("x→∞").function("x")

Nary und Integral Methoden

Sowohl die Nary als auch die Integral Methoden erstellen und geben den N-ären Operator vom Typ INaryOperator zurück. In der Nary-Methode spezifiziert die MathNaryOperatorTypes Aufzählung den Typ des Operators: Summation, Vereinigungen usw., ohne Integrale einzuschließen. In der Integral-Methode gibt es die spezialisierte Operation Integral mit der Aufzählung von Integraltypen MathIntegralTypes

Beispiel:

    baseArg = math.MathematicalText("x").join(math.MathematicalText("dx").to_box())
    integral = baseArg.integral(math.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 Kind-Elemente im zurückgegebenen Array platziert.

Beispiel:

    arrayFunction = math.MathematicalText("x").join("y").to_math_array()

Formatierungsoperationen: Akzent, Überstrich, Unterstrich, Gruppe, ZuBorderBox, ZuBox

  • Die Accent Methode setzt ein Akzentzeichen (ein Zeichen auf der Oberseite des Elements).
  • Die Overbar und Underbar Methoden setzen eine Linie oben oder unten.
  • Die Group Methode platziert sie in einer Gruppe mit einem Gruppierungssymbol wie einer unteren geschweiften Klammer oder einer anderen.
  • Die ToBorderBox Methode platziert sie in einer Rahmenbox.
  • Die ToBox Methode platziert sie in einer unsichtbaren Box (logische Gruppierung).

Beispiele:

    accent = math.MathematicalText("x").accent(chr(0x0303))
    bar = math.MathematicalText("x").overbar()
    groupChr = math.MathematicalText("x").join("y").join("z").group(chr(0x23E1), 
            math.MathTopBotPositions.BOTTOM, 
            math.MathTopBotPositions.TOP)
    borderBox = math.MathematicalText("x+y+z").to_border_box()
    boxedOperator = math.MathematicalText(":=").to_box()