.NET'te PowerPoint Sunumlarına 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’ta, kullanıcılar genellikle denklemleri Ekle > Denklem üzerinden ekler:

Sonuç, slaytta düzenlenebilir matematik metni olur:

Aspose.Slides bu matematik metnini üç ana nesne aracılığıyla oluşturur:
- Denklemi içeren şekil, AddMathShape ile oluşturulan bir matematik şeklidir.
- MathPortion şekil metin çerçevesi içinde matematik içeriğini saklar.
- MathParagraph bir veya daha fazla MathBlock nesnesi içerir.
Aşağıdaki çoğu örnek, kodu kısa ve okunaklı tutmak için MathematicalText ve IMathElement akıcı metodlarını kullanır.
MathML dışa aktarma senaryoları için, Export Math Equations from Presentations in .NET bölümüne bakın.
Bir 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çinde bir şekil oluşturur. İlk MathPortiona erişin, onun MathParagraphını alın ve ona matematik blokları ya da matematik öğeleri ekleyin.
Kesirler Ekleme
Kesir oluşturmak için Divide kullanın. 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);
Yığılmış bir kesir için MathFractionTypes.Bar kullanın:
var stackedFraction = new MathematicalText("x + 1").Divide("y - 1", MathFractionTypes.Bar);
Kökler Ekleme
Karekök, küpkök veya diğer kökleri oluşturmak için Radical kullanın. Mevcut öğe taban olur, argüman dereceyi belirler.

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
sin(x), log(x) gibi fonksiyonlar veya özel fonksiyon adları için AsArgumentOfFunction ya da Function kullanın. Limitler için limi bir MathLimit içine koyun ya da 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
Toplamlar, 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ı limitli büyük operatörler içindir. +, -, = gibi basit operatörler genellikle MathematicalText olarak eklenir ve ifadeye katılır.
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");
Matrisler Ekleme
Satır ve sütunlar için MathMatrix kullanın. Matrisler varsayılan olarak parantez içermez; parantez, köşeli ayraç veya süslü ayraç gerektiğinde matrisi bunların içine almanız gerekir.

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ış denklemlere veya dikey bir ifade yığınına ihtiyacınız olduğunda 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 olduğunda ve fonksiyon adı bilindiğinde 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
İndeksler ve üstler için alt ve üst indis yardımcılarını kullanın. İndekslerin 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
İfadeyi sınırlayıcıların içine koymak için Enclose kullanın. Birden fazla öğe içeren sınırlayıcı ifadeler için ayırıcı karakter de ayarlayabilirsiniz.

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 çerçeveli olması 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 ifadeyi üstüne ya da altına bir gruplama 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 yerde 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 veya alt indis ekleme | SetSuperscript, SetSubscript |
| Fonksiyon ekleme | Function, AsArgumentOfFunction |
| Kök ekleme | IMathElement.Radical |
| Limit ekleme | SetLowerLimit, SetUpperLimit |
| Sol taraflı indis ekleme | SetSubSuperscriptOnTheLeft |
| Toplamlar ve integraller ekleme | Nary, Integral |
| Matris ekleme | MathMatrix |
| Denklem dizileri ekleme | ToMathArray |
| Sınırlayıcı ekleme | Enclose |
| Çizgi ve kenarlık ekleme | Overbar, ToBorderBox |
| Terimleri grupla | Group |
SSS
Mevcut bir PowerPoint denklemini düzenleyebilir miyim?
Evet. Sunumu açın, bir MathPortion içeren şekli bulun, onun MathParagraphını alın ve o paragraftaki matematik bloklarını güncelleyin.
Denklikler 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?
Aspose.Slides matematik denklemlerini MathML olarak dışa aktarır. LaTeX’e ihtiyacınız varsa, önce MathML’e dışa aktarın ve ardından hedef LaTeX dilinizi destekleyen bir araçla MathML’i dönüştürün.