PowerPoint Sunumlarına .NET'te Matematik Denklemleri Ekleme
Genel Bakış
PowerPoint denklemleri Office Math Markup Language (OMML) olarak depolar. Aspose.Slides for .NET ile aynı türde matematik içeriğini programlı olarak oluşturabilirsiniz: kesirler, kökler, fonksiyonlar, limitler, N-ary operatörler, matrisler, diziler ve biçimlendirilmiş matematik blokları.
PowerPoint’te kullanıcılar genellikle denklemleri Ekle > Denklem menüsünden ekler:

Sonuç, slaytta düzenlenebilir matematik metnidir:

Aspose.Slides, bu matematik metnini üç ana nesneyle oluşturur:
- Bir matematik şekli, AddMathShape ile oluşturulur ve denklemi içerir.
- MathPortion şekil metin çerçevesi içinde matematik içeriğini depolar.
- MathParagraph bir veya daha fazla MathBlock nesnesi içerir.
Aşağıdaki çoğu örnek, kodu kısa ve okunabilir tutmak için MathematicalText ve IMathElement üzerindeki akıcı yöntemleri kullanır.
MathML dışa aktarma senaryoları için, Export Math Equations from Presentations in .NET bölümüne bakın.
Denklem Oluşturma
Bu örnek bir matematik şekli oluşturur ve Pisagor teoremini ekler:

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, zaten bir matematik paragrafı içeren bir şekil oluşturur. İlk MathPortion‘a erişin, onun MathParagraph‘ını alın ve ona matematik blokları veya matematik öğeleri ekleyin.
Kesirler Ekleme
Divide kullanarak bir kesir oluşturun. Kesir stilini MathFractionTypes ile seçebilirsiniz.

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);
Üst üste bir kesir için MathFractionTypes.Bar kullanın:
var stackedFraction = new MathematicalText("x + 1").Divide("y - 1", MathFractionTypes.Bar);
Kökler Ekleme
Radical kullanarak karekök, küpkök veya diğer kökleri oluşturun. Mevcut öğe taban olur, argüman ise derece olur.

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);
Fonksiyonlar ve Limitler Ekleme
AsArgumentOfFunction veya Function kullanarak sin(x), log(x) gibi fonksiyonları ya da özel fonksiyon adlarını ekleyin. Limitler için, lim ifadesini bir MathLimit içine yerleştirin veya SetLowerLimit kullanı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 limit = new MathematicalText("lim")
.SetLowerLimit("x→∞")
.Function("x");
mathParagraph.Add(new MathBlock(limit));
presentation.Save("functions-and-limits.pptx", SaveFormat.Pptx);
Özel bir fonksiyon adı için, fonksiyon adını mevcut öğe yapın:
var customFunction = new MathematicalText("f").Function("x + 1");
N-ary Operatörler ve İntegraller Ekleme
Toplamalar, birleşimler, kesişimler ve diğer büyük operatörler için Nary kullanın. İntegraller için Integral kullanın. Her iki yöntem de alt ve üst limitleri ayarlamanıza izin verir.

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 operatörler, isteğe bağlı limitleri olan büyük operatörler içindir. +, -, = gibi basit operatörler genellikle MathematicalText olarak eklenir ve ifadeye birleştirilir.
Bir integral için Integral kullanın:
var integralBase = new MathematicalText("x").Join(new MathematicalText("dx").ToBox());
var integral = integralBase.Integral(MathIntegralTypes.Simple, "0", "1");
Matriksler Ekleme
Satır ve sütunlar için MathMatrix kullanın. Matrisler varsayılan olarak köşeli parantez içermez; bu nedenle parantez, köşeli parantez veya süslü parantez gerektiğinde matrisi kapsayın.

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);
Denklem Dizileri Ekleme
Hizalanmış denklemler veya dikey bir ifade yığını gerektiğinde ToMathArray kullanın.

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);
Trigonometrik Fonksiyonlar Ekleme
Argüman mevcut öğe ve fonksiyon adı biliniyorsa AsArgumentOfFunction kullanı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 cosine = new MathematicalText("2x")
.AsArgumentOfFunction(MathFunctionsOfOneArgument.Cos);
mathParagraph.Add(new MathBlock(cosine));
presentation.Save("trigonometric-function.pptx", SaveFormat.Pptx);
Alt ve Üst İndeksler Ekleme
Alt ve üst indeks yardımcılarını indeksler ve üstler için kullanın. Alt indekslerin tabanın sol tarafında görünmesi gerektiğinde SetSubSuperscriptOnTheLeft kullanı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);
Sınırlayıcılar Ekleme
Enclose kullanarak bir ifadeyi sınırlayıcıların içine koyun. Birden çok öğe içeren sınırlayıcı ifadeler için ayırıcı karakter de belirleyebilirsiniz.

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);
Kenar Kutusu Ekleme
Denklemin kendisinin kenarlık içine alınması gerektiğinde ToBorderBox kullanı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 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);
Terimleri Gruplama
Bir ifadeye grup karakteri yerleştirmek için Group kullanın. Gruplanmış terimleri etiketlemek için bir limit ekleyin.

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);
Matematik Öğelerini Biçimlendirme
Biçimlendirme yardımcılarını yalnızca formülü netleştirdiği yerlerde kullanın. Örneğin, Overbar bir matematik öğesinin üzerine bir çubuk ekler.

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);
Hızlı Başvuru
| Görev | Ana API |
|---|---|
| Matematik metni oluşturma | MathematicalText |
| Ögeleri birleştirme | IMathElement.Join |
| Kesirler oluşturma | IMathElement.Divide |
| Üst indeks veya alt indeks ekleme | SetSuperscript, SetSubscript |
| Fonksiyonlar ekleme | Function, AsArgumentOfFunction |
| Kökler ekleme | IMathElement.Radical |
| Limitler ekleme | SetLowerLimit, SetUpperLimit |
| Sol taraf indeksleri ekleme | SetSubSuperscriptOnTheLeft |
| Toplamlar ve integraller ekleme | Nary, Integral |
| Matriksler ekleme | MathMatrix |
| Denklem dizileri ekleme | ToMathArray |
| Sınırlayıcılar ekleme | Enclose |
| Çubuklar ve kenarlıklar ekleme | Overbar, ToBorderBox |
| Terimleri gruplama | Group |
SSS
Mevcut bir PowerPoint denklemini düzenleyebilir miyim?
Evet. Sunumu açın, MathPortion içeren şekli bulun, onun MathParagraph‘ını alın ve o paragraftaki matematik bloklarını güncelleyin.
Denklemler düzenlenebilir PowerPoint matematiği olarak kaydediliyor mu?
Evet. PPTX olarak kaydettiğinizde, Aspose.Slides denklemi düzenlenebilir Office matematik içeriği olarak yazar.
Denklikleri LaTeX’e dışa aktarabilir miyim?
Evet. Denklemin IMathParagraph alıp, doğrudan dışa aktarmak için IMathParagraph.ToLatex çağırın. Tam bir örnek için, Export Math Equations from Presentations in .NET bölümüne bakın.