PowerPoint Sunumlarına JavaScript ile Matematik Denklemleri Ekle

Genel Bakış

PowerPoint denklemleri Office Math Markup Language (OMML) olarak saklar. Aspose.Slides for Node.js via Java 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 yoluyla eklerler:

PowerPoint Ekle sekmesi, Denklem komutu seçili

Sonuç, slaytta düzenlenebilir matematik metnidir:

Düzenlenebilir bir matematik denklemi içeren bir PowerPoint slaydı

Aspose.Slides, bu matematik metnini üç ana nesne aracılığıyla oluşturur:

Aşağıdaki örneklerin çoğu, kodu kısa ve okunabilir tutmak için MathematicalText ve MathElementBase‘den gelen akıcı yöntemleri kullanır.

MathML dışa aktarma senaryoları için, Sunumlardan Matematik Denklemlerini Node.js via Java ile Dışa Aktarma sayfasına bakın.

Denklem Oluşturma

Bu örnek bir matematik şekli oluşturur ve Pisagor teoremini ekler:

c² = a² + b² denklemi

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let equation = new aspose.slides.MathematicalText("c")
            .setSuperscript("2")
            .join("=")
            .join(new aspose.slides.MathematicalText("a").setSuperscript("2"))
            .join("+")
            .join(new aspose.slides.MathematicalText("b").setSuperscript("2"));

    mathParagraph.add(equation);

    presentation.save("pythagorean-theorem.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Kesir Ekleme

Bir kesir oluşturmak için divide kullanın. Kesir stilini MathFractionTypes ile seçebilirsiniz.

Bir bölü x gösteren eğik bir matematik kesiri

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let fraction = new aspose.slides.MathematicalText("1")
            .divide("x", aspose.slides.MathFractionTypes.Skewed);

    mathParagraph.add(new aspose.slides.MathBlock(fraction));

    presentation.save("fraction.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Yığılmış bir kesir için MathFractionTypes.Bar kullanın:

let stackedFraction = new aspose.slides.MathematicalText("x + 1").divide("y - 1", aspose.slides.MathFractionTypes.Bar);

Kök Ekleme

Karekök, küpkök veya diğer kökleri oluşturmak için radical kullanın. Mevcut öğe temel olur, argüman ise derece olur.

Kök işareti altında x bulunan n’inci dereceli kök ifadesi

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let radical = new aspose.slides.MathematicalText("x")
            .radical("n");

    mathParagraph.add(new aspose.slides.MathBlock(radical));

    presentation.save("radical.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Fonksiyonlar ve Limitler Ekleme

sin(x), log(x) gibi fonksiyonlar veya özel fonksiyon adları için asArgumentOfFunction veya function kullanın. Limitler için lim ifadesini bir MathLimit içine koyun veya setLowerLimit kullanın.

x’in ∞'ye yaklaşırken limiti

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let limit = new aspose.slides.MathematicalText("lim")
            .setLowerLimit("x\u2192\u221E")
            .function("x");

    mathParagraph.add(new aspose.slides.MathBlock(limit));

    presentation.save("functions-and-limits.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Özel bir fonksiyon adı için, fonksiyon adını mevcut öğe olarak ayarlayın:

let customFunction = new aspose.slides.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.

Alt ve üst limitli bir toplam

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let summationBase = new aspose.slides.MathematicalText("x")
            .setSuperscript("k")
            .join(new aspose.slides.MathematicalText("a").setSuperscript("n-k"));

    let summation = summationBase.nary(aspose.slides.MathNaryOperatorTypes.Summation, "k=0", "n");

    mathParagraph.add(new aspose.slides.MathBlock(summation));

    presentation.save("nary-operators.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

N-ary operatörler, isteğe bağlı limitli büyük operatörler içindir. +, - ve = gibi basit operatörler genellikle MathematicalText olarak eklenir ve ifadeye eklenir.

Bir integral için, integral kullanın:

let integralBase = new aspose.slides.MathematicalText("x").join(new aspose.slides.MathematicalText("dx").toBox());
let integral = integralBase.integral(aspose.slides.MathIntegralTypes.Simple, "0", "1");

Matrisler Ekleme

Satırlar ve sütunlar için MathMatrix kullanın. Matrisler varsayılan olarak parantez içermez, bu yüzden parantez, köşeli parantez veya süslü parantez gerektiğinde matrisi kapsayın.

Bir boş hücreli iki satırlı bir matematik matrisi

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let matrix = new aspose.slides.MathMatrix(2, 3);
    matrix.set_Item(0, 0, new aspose.slides.MathematicalText("1"));
    matrix.set_Item(0, 1, new aspose.slides.MathematicalText("x"));
    matrix.set_Item(1, 0, new aspose.slides.MathematicalText("x"));
    matrix.set_Item(1, 1, new aspose.slides.MathematicalText("2"));
    matrix.set_Item(1, 2, new aspose.slides.MathematicalText("y"));

    mathParagraph.add(new aspose.slides.MathBlock(matrix));

    presentation.save("matrix.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Denklem Dizileri Ekleme

Hizalanmış denklemler veya dikey bir ifade yığını gerektiğinde toMathArray kullanın.

x’in y’nin üstünde olduğu dikey bir matematik dizisi

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 140);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let equationArray = new aspose.slides.MathematicalText("x")
            .join("y")
            .toMathArray();

    mathParagraph.add(new aspose.slides.MathBlock(equationArray));

    presentation.save("equation-array.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Trigonometrik Fonksiyonlar Ekleme

Argüman mevcut öğe ve fonksiyon adı biliniyorsa asArgumentOfFunction kullanın.

2x’e uygulanan cos trigonometrik fonksiyonu

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let cosine = new aspose.slides.MathematicalText("2x")
            .asArgumentOfFunction(aspose.slides.MathFunctionsOfOneArgument.Cos);

    mathParagraph.add(new aspose.slides.MathBlock(cosine));

    presentation.save("trigonometric-function.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Alt Simge ve Üst Simge Ekleme

İndeksler ve üsler için alt ve üst simge yardımcılarını kullanın. İndeksler temel elemanın sol tarafında görünmeliyse setSubSuperscriptOnTheLeft kullanın.

Sol tarafında alt simge 1 ve üst simge n olan büyük Y

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let scripts = new aspose.slides.MathematicalText("Y")
            .setSubSuperscriptOnTheLeft("1", "n");

    mathParagraph.add(new aspose.slides.MathBlock(scripts));

    presentation.save("subscript-superscript.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Sınırlayıcılar Ekleme

Bir ifadeyi sınırlayıcını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.

x, y ve z’yi dikey çubuklarla ayıran bir sınırlayıcı ifade

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let delimiter = new aspose.slides.MathematicalText("x")
            .join("y")
            .join("z")
            .enclose(java.newChar('<'), java.newChar('>'));
    delimiter.setSeparatorCharacter(java.newChar('|'));

    mathParagraph.add(new aspose.slides.MathBlock(delimiter));

    presentation.save("delimiters.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Kenar Kutusu Ekleme

Denklemin kendisinin çerçevelenmesi gerektiğinde toBorderBox kullanın.

a² = b² + c² gösteren kutu içine alınmış bir denklem

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let boxedEquation = new aspose.slides.MathematicalText("a")
            .setSuperscript("2")
            .join("=")
            .join(new aspose.slides.MathematicalText("b").setSuperscript("2"))
            .join("+")
            .join(new aspose.slides.MathematicalText("c").setSuperscript("2"))
            .toBorderBox();

    mathParagraph.add(new aspose.slides.MathBlock(boxedEquation));

    presentation.save("border-box.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Terimleri Gruplama

Bir ifadeye üstünde ya da altında bir grup karakteri koymak için group kullanın. Gruplanmış terimleri etiketlemek için bir limit ekleyin.

x + y ifadesi, altına ‘any text’ etiketiyle gruplanmış

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let grouped = new aspose.slides.MathematicalText("x + y")
            .group(java.newChar('\u23DF'), aspose.slides.MathTopBotPositions.Bottom, aspose.slides.MathTopBotPositions.Top)
            .setLowerLimit("any text");

    mathParagraph.add(new aspose.slides.MathBlock(grouped));

    presentation.save("grouped-terms.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

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 koyar.

Üzerinde bir çubuk bulunan ABC matematik ifadesi

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let overbar = new aspose.slides.MathematicalText("ABC").overbar();

    mathParagraph.add(new aspose.slides.MathBlock(overbar));

    presentation.save("overbar.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Hızlı Referans

Görev Ana API
Matematik metni oluşturma MathematicalText
Öğeleri birleştirme join
Kesir oluşturma divide
Üst simge veya alt simge ekleme setSuperscript, setSubscript
Fonksiyon ekleme function, asArgumentOfFunction
Kök ekleme radical
Limit ekleme setLowerLimit, setUpperLimit
Sol taraflı üst/alt simgeler ekleme setSubSuperscriptOnTheLeft
Toplamlar ve integraller ekleme nary, integral
Matris ekleme MathMatrix
Denklem dizileri ekleme toMathArray
Sınırlayıcı ekleme enclose
Çubuk ve kenarlık ekleme overbar, toBorderBox
Terimleri gruplama group

SSS

Varolan 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.

Denklemleri LaTeX’e dışa aktarabilir miyim?

Aspose.Slides matematik denklemlerini MathML olarak dışa aktarır. LaTeX’e ihtiyacınız varsa, önce MathML olarak dışa aktarın ve ardından hedef LaTeX lehçenizi destekleyen bir araçla MathML’i dönüştürün.