Menambahkan Persamaan Matematika ke Presentasi PowerPoint di .NET
Gambaran Umum
PowerPoint menyimpan persamaan sebagai Office Math Markup Language (OMML). Dengan Aspose.Slides untuk .NET, Anda dapat membuat jenis konten matematika yang sama secara programatis: pecahan, radikal, fungsi, limit, operator N-ary, matriks, array, dan blok matematika yang diformat.
Di PowerPoint, pengguna biasanya menambahkan persamaan melalui Insert > Equation:

Hasilnya adalah teks matematika yang dapat diedit pada slide:

Aspose.Slides membangun teks matematika tersebut melalui tiga objek utama:
- Sebuah bentuk matematika, dibuat dengan AddMathShape, adalah bentuk yang berisi persamaan.
- MathPortion menyimpan konten matematika di dalam bingkai teks bentuk.
- MathParagraph berisi satu atau beberapa objek MathBlock.
Sebagian besar contoh di bawah menggunakan MathematicalText dan metode fluently dari IMathElement untuk menjaga kode tetap pendek dan mudah dibaca.
Untuk skenario ekspor MathML, lihat Export Math Equations from Presentations in .NET.
Buat Persamaan
Contoh ini membuat sebuah bentuk matematika dan menambahkan teorema Pythagoras:

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 membuat sebuah bentuk yang sudah berisi paragraf matematika. Akses MathPortion pertama, dapatkan MathParagraph-nya, dan tambahkan blok matematika atau elemen matematika ke dalamnya.
Tambahkan Pecahan
Gunakan Divide untuk membuat pecahan. Anda dapat memilih gaya pecahan dengan MathFractionTypes.

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);
Untuk pecahan bertumpuk, gunakan MathFractionTypes.Bar:
var stackedFraction = new MathematicalText("x + 1").Divide("y - 1", MathFractionTypes.Bar);
Tambahkan Radikal
Gunakan Radical untuk membuat akar kuadrat, akar kubik, atau akar lainnya. Elemen saat ini menjadi basis, dan argumen menjadi pangkatnya.

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);
Tambahkan Fungsi dan Limit
Gunakan AsArgumentOfFunction atau Function untuk fungsi seperti sin(x), log(x), atau nama fungsi khusus. Untuk limit, letakkan lim dalam MathLimit atau gunakan 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);
Untuk nama fungsi khusus, buat nama fungsi menjadi elemen saat ini:
var customFunction = new MathematicalText("f").Function("x + 1");
Tambahkan Operator N-ary dan Integral
Gunakan Nary untuk penjumlahan, unifikasi, irisan, dan operator besar lainnya. Gunakan Integral untuk integral. Kedua metode memungkinkan Anda mengatur limit bawah dan atas.

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);
Operator N-ary digunakan untuk operator besar dengan limit opsional. Operator sederhana seperti +, -, dan = biasanya ditambahkan sebagai MathematicalText dan digabungkan ke dalam ekspresi.
Untuk integral, gunakan Integral:
var integralBase = new MathematicalText("x").Join(new MathematicalText("dx").ToBox());
var integral = integralBase.Integral(MathIntegralTypes.Simple, "0", "1");
Tambahkan Matriks
Gunakan MathMatrix untuk baris dan kolom. Matriks tidak menyertakan kurung secara default, jadi kelilingi matriks dengan tanda kurung biasa, siku, atau kurawal bila diperlukan.

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);
Tambahkan Array Persamaan
Gunakan ToMathArray ketika Anda memerlukan persamaan yang disejajarkan atau tumpukan vertikal ekspresi.

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);
Tambahkan Fungsi Trigonometri
Gunakan AsArgumentOfFunction ketika argumen adalah elemen saat ini dan nama fungsi sudah diketahui.

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);
Tambahkan Subskrip dan Superskrip
Gunakan pembantu subskrip dan superskrip untuk indeks dan pangkat. Ketika indeks harus muncul di sisi kiri basis, gunakan 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);
Tambahkan Pembatas
Gunakan Enclose untuk menempatkan ekspresi di dalam pembatas. Anda juga dapat mengatur karakter pemisah untuk ekspresi pembatas yang berisi beberapa elemen.

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);
Tambahkan Kotak Batas
Gunakan ToBorderBox ketika persamaan itu sendiri harus dibingkai.

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);
Kelompokkan Istilah
Gunakan Group untuk menempatkan karakter pengelompokan di atas atau di bawah sebuah ekspresi. Tambahkan limit untuk memberi label pada istilah yang dikelompokkan.

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);
Format Elemen Matematika
Gunakan pembantu formatting hanya bila mereka memperjelas rumus. Misalnya, Overbar menempatkan garis di atas elemen matematika.

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);
Referensi Cepat
| Tugas | API Utama |
|---|---|
| Buat teks matematika | MathematicalText |
| Gabungkan elemen | IMathElement.Join |
| Buat pecahan | IMathElement.Divide |
| Tambahkan superskrip atau subskrip | SetSuperscript, SetSubscript |
| Tambahkan fungsi | Function, AsArgumentOfFunction |
| Tambahkan radikal | IMathElement.Radical |
| Tambahkan limit | SetLowerLimit, SetUpperLimit |
| Tambahkan skrip sisi kiri | SetSubSuperscriptOnTheLeft |
| Tambahkan penjumlahan dan integral | Nary, Integral |
| Tambahkan matriks | MathMatrix |
| Tambahkan array persamaan | ToMathArray |
| Tambahkan pembatas | Enclose |
| Tambahkan garis dan batas | Overbar, ToBorderBox |
| Kelompokkan istilah | Group |
FAQ
Bisakah saya mengedit persamaan PowerPoint yang ada?
Ya. Buka presentasi, temukan bentuk yang berisi MathPortion, dapatkan MathParagraph-nya, dan perbarui blok matematika dalam paragraf tersebut.
Apakah persamaan disimpan sebagai matematika PowerPoint yang dapat diedit?
Ya. Saat Anda menyimpan ke PPTX, Aspose.Slides menulis persamaan sebagai konten Office math yang dapat diedit.
Bisakah saya mengekspor persamaan ke LaTeX?
Ya. Dapatkan IMathParagraph persamaan dari MathPortion, dan panggil IMathParagraph.ToLatex untuk mengekspornya secara langsung. Untuk contoh lengkap, lihat Export Math Equations from Presentations in .NET.