Προσθήκη Μαθηματικών Εξισώσεων σε Παρουσιάσεις PowerPoint στο .NET

Επισκόπηση

Το PowerPoint αποθηκεύει εξισώσεις ως Office Math Markup Language (OMML). Με το Aspose.Slides για .NET, μπορείτε να δημιουργήσετε το ίδιο είδος μαθηματικού περιεχομένου προγραμματιστικά: κλάσματα, ριζικά, συναρτήσεις, όρια, N-ary τελεστές, πίνακες, ακολουθίες και μορφοποιημένα μαθηματικά μπλοκ.

Στο PowerPoint, οι χρήστες συνήθως προσθέτουν εξισώσεις από Insert > Equation:

Καρτέλα Insert του PowerPoint με την εντολή Equation επιλεγμένη

Το αποτέλεσμα είναι επεξεργάσιμο μαθηματικό κείμενο στη διαφάνεια:

Διαφάνεια PowerPoint που περιέχει μια επεξεργάσιμη μαθηματική εξίσωση

Aspose.Slides δημιουργεί αυτό το μαθηματικό κείμενο μέσω τριών κύριων αντικειμένων:

  • Ένα μαθηματικό σχήμα, δημιουργημένο με AddMathShape, είναι το σχήμα που περιέχει την εξίσωση.
  • Το [MathPortion] αποθηκεύει το μαθηματικό περιεχόμενο μέσα στο πλαίσιο κειμένου του σχήματος.
  • Το [MathParagraph] περιέχει ένα ή περισσότερα αντικείμενα [MathBlock].

Τα περισσότερα παραδείγματα παρακάτω χρησιμοποιούν το [MathematicalText] και τις αλυσιδωτές μεθόδους από το [IMathElement] για να διατηρήσουν τον κώδικα σύντομο και ευανάγνωστο.

Για σενάρια εξαγωγής MathML, ανατρέξτε στην Export Math Equations from Presentations in .NET.

Δημιουργία Εξίσωσης

Αυτό το παράδειγμα δημιουργεί ένα μαθηματικό σχήμα και προσθέτει το θεώρημα του Πυθαγόρα:

Η εξίσωση c² = a² + b²

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);

Προσθήκη Κλασμάτων

Χρησιμοποιήστε το Divide για να δημιουργήσετε ένα κλάσμα. Μπορείτε να επιλέξετε στυλ κλασμάτων με MathFractionTypes.

Ένα κεκλιμένο μαθηματικό κλάσμα που εμφανίζει 1 διαιρεμένο με x

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);

Για ένα στοίβαγμα κλάσματος, χρησιμοποιήστε το MathFractionTypes.Bar:

var stackedFraction = new MathematicalText("x + 1").Divide("y - 1", MathFractionTypes.Bar);

Προσθήκη Ριζών

Χρησιμοποιήστε το Radical για να δημιουργήσετε τετραγωνική ρίζα, κυβική ρίζα ή άλλη ρίζα. Το τρέχον στοιχείο γίνεται η βάση, και το όρισμα γίνεται ο εκθέτης.

Μια ρίζα n‑ου βαθμού με το x κάτω από το σύμβολο ρίζας

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);

Προσθήκη Συναρτήσεων και Ορίων

Χρησιμοποιήστε το AsArgumentOfFunction ή το Function για συναρτήσεις όπως sin(x), log(x), ή προσαρμοσμένα ονόματα συναρτήσεων. Για όρια, τοποθετήστε το lim σε ένα MathLimit ή χρησιμοποιήστε το SetLowerLimit.

Το όριο του x καθώς το x πλησιάζει το άπειρο

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);

Για προσαρμοσμένο όνομα συνάρτησης, κάντε το όνομα της συνάρτησης το τρέχον στοιχείο:

var customFunction = new MathematicalText("f").Function("x + 1");

Προσθήκη N-ary Τελεστών και Ολοκληρωμάτων

Χρησιμοποιήστε το Nary για αθροίσεις, ένωσης, τομές και άλλους μεγάλους τελεστές. Χρησιμοποιήστε το Integral για ολοκληρώματα. Και οι δύο μέθοδοι σας επιτρέπουν να ορίσετε τα κάτω και άνω όρια.

Μια άθροιση με κάτω και άνω όρια

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-ary τελεστές προορίζονται για μεγάλους τελεστές με προαιρετικά όρια. Απλοί τελεστές όπως +, - και = προστίθενται συνήθως ως MathematicalText και συγχωνεύονται στην έκφραση.

Για ένα ολοκλήρωμα, χρησιμοποιήστε το Integral:

var integralBase = new MathematicalText("x").Join(new MathematicalText("dx").ToBox());
var integral = integralBase.Integral(MathIntegralTypes.Simple, "0", "1");

Προσθήκη Πινάκων

Χρησιμοποιήστε το MathMatrix για γραμμές και στήλες. Οι πίνακες δεν περιλαμβάνουν αγκύλες από προεπιλογή, έτσι περιβάλλετε τον πίνακα όταν χρειάζεστε παρενθέσεις, αγκύλες ή άγκιστρα.

Ένας μαθηματικός πίνακας δύο γραμμών με ένα κενό κελί

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);

Προσθήκη Ακολουθιών Εξισώσεων

Χρησιμοποιήστε το ToMathArray όταν χρειάζεστε ευθυγραμμισμένες εξισώσεις ή κατακόρυφη στοίβα εκφράσεων.

Μία κατακόρυφη μαθηματική ακολουθία με x πάνω από y

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);

Προσθήκη Τριγωνομετρικών Συναρτήσεων

Χρησιμοποιήστε το AsArgumentOfFunction όταν το όρισμα είναι το τρέχον στοιχείο και το όνομα της συνάρτησης είναι γνωστό.

Η τριγωνομετρική συνάρτηση cos εφαρμοσμένη στο 2x

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);

Προσθήκη Δεικτών και Εκθέσεων

Χρησιμοποιήστε τις βοηθητικές λειτουργίες υποδείκτη και εκθέτη για δείκτες και δυνάμεις. Όταν οι δείκτες πρέπει να εμφανίζονται στην αριστερή πλευρά της βάσης, χρησιμοποιήστε το SetSubSuperscriptOnTheLeft.

Ένα κεφαλαίο Y με αριστερό υπόδεικτη 1 και εκθέτη n

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);

Προσθήκη Οριοθετητών

Χρησιμοποιήστε το Enclose για να τοποθετήσετε μια έκφραση μέσα σε οριοθέτες. Μπορείτε επίσης να ορίσετε χαρακτήρα διαχωρισμού για εκφράσεις οριοθετών που περιέχουν πολλά στοιχεία.

Μία έκφραση οριοθέτη που περιέχει x, y, και z χωρισμένα με κατακόρυφες γραμμές

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);

Προσθήκη Πλαισίου Περιγράμματος

Χρησιμοποιήστε το ToBorderBox όταν η ίδια η εξίσωση πρέπει να περιβάλλεται με πλαίσιο.

Μία εξίσωση σε πλαίσιο που δείχνει a² = b² + c²

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);

Ομαδοποίηση Όρων

Χρησιμοποιήτε το Group για να τοποθετήσετε ένα χαρακτήρα ομαδοποίησης πάνω ή κάτω από μια έκφραση. Προσθέστε όριο για να ετικετοποιήσετε τους ομαδοποιημένους όρους.

Η έκφραση x + y ομαδοποιημένη με την ετικέτα οποιοδήποτε κείμενο κάτω από αυτή

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);

Μορφοποίηση Μαθηματικών Στοιχείων

Χρησιμοποιήστε βοηθητικές μορφοποίησης μόνο όταν διευκρινίζουν τον τύπο. Για παράδειγμα, το Overbar τοποθετεί μια γραμμή πάνω από ένα μαθηματικό στοιχείο.

Μία μαθηματική έκφραση ABC με μια οριζόντια γραμμή επάνω

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);

Σύντομη Αναφορά

Καθήκον Κύριο API
Δημιουργία μαθηματικού κειμένου MathematicalText
Συνδυασμός στοιχείων IMathElement.Join
Δημιουργία κλασμάτων IMathElement.Divide
Προσθήκη εκθέτη ή δείκτη SetSuperscript, SetSubscript
Προσθήκη συναρτήσεων Function, AsArgumentOfFunction
Προσθήκη ριζών IMathElement.Radical
Προσθήκη ορίων SetLowerLimit, SetUpperLimit
Προσθήκη δεικτών αριστερά SetSubSuperscriptOnTheLeft
Προσθήκη αθροίσεων και ολοκληρωμάτων Nary, Integral
Προσθήκη πινάκων MathMatrix
Προσθήκη ακολουθιών εξισώσεων ToMathArray
Προσθήκη οριοθετών Enclose
Προσθήκη γραμμών και περιγραμμάτων Overbar, ToBorderBox
Ομαδοποίηση όρων Group

Συχνές Ερωτήσεις

Μπορώ να επεξεργαστώ μια υπάρχουσα εξίσωση PowerPoint;

Ναι. Ανοίξτε την παρουσίαση, εντοπίστε το σχήμα που περιέχει ένα MathPortion, λάβετε το MathParagraph του και ενημερώστε τα μαθηματικά μπλοκ σε αυτήν την παράγραφο.

Αποθηκεύονται οι εξισώσεις ως επεξεργάσιμο μαθηματικό PowerPoint;

Ναι. Όταν αποθηκεύετε σε PPTX, το Aspose.Slides γράφει την εξίσωση ως επεξεργάσιμο περιεχόμενο Office math.

Μπορώ να εξάγω εξισώσεις σε LaTeX;

Το Aspose.Slides εξάγει μαθηματικές εξώσεις σε MathML. Εάν χρειάζεστε LaTeX, εξάγετε πρώτα σε MathML και μετά μετατρέψτε το MathML με ένα εργαλείο που υποστηρίζει τη στοχευόμενη συντακτική μορφή LaTeX.