Lägg till matematiska ekvationer i PowerPoint-presentationer i .NET

Översikt

PowerPoint lagrar ekvationer som Office Math Markup Language (OMML). Med Aspose.Slides för .NET kan du skapa samma typ av matematiskt innehåll programmässigt: bråk, radikaler, funktioner, gränsvärden, N-ära operatorer, matriser, arrayer och formaterade matematiksblock.

I PowerPoint lägger användare normalt till ekvationer via Infoga > Ekvation:

PowerPoint Infoga-flik med kommandot Ekvation markerat

Resultatet är redigerbar matematisk text på bilden:

En PowerPoint-bild som innehåller en redigerbar matematisk ekvation

Aspose.Slides bygger den matematiken genom tre huvudobjekt:

De flesta exempel nedan använder MathematicalText och de flytande metoderna från IMathElement för att hålla koden kort och läsbar.

För MathML‑exportscenarier, se Exportera matematiska ekvationer från presentationer i .NET.

Skapa en ekvation

Detta exempel skapar en matematisk form och lägger till Pythagoras sats:

Ekvationen c kvadrat är lika med a kvadrat plus b kvadrat

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

Lägg till bråk

Använd Divide för att skapa ett bråk. Du kan välja en bråkstil med MathFractionTypes.

Ett snett matematiskt bråk som visar ett delat med 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);

För ett staplat bråk, använd MathFractionTypes.Bar:

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

Lägg till radikaler

Använd Radical för att skapa en kvadratrot, kubrot eller annan rot. Det aktuella elementet blir basen och argumentet blir graden.

Ett n-te rotradicuttryck med x under radikaltecknet

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

Lägg till funktioner och gränsvärden

Använd AsArgumentOfFunction eller Function för funktioner som sin(x), log(x) eller anpassade funktionsnamn. För gränsvärden, placera lim i en MathLimit eller använd SetLowerLimit.

Gränsvärdet för x när x går mot oändligheten

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

För ett anpassat funktionsnamn, gör funktionsnamnet till det aktuella elementet:

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

Lägg till N-ära operatorer och integraler

Använd Nary för summor, unioner, snitt och andra stora operatorer. Använd Integral för integraler. Båda metoderna låter dig ange lägre och övre gränser.

En summa med lägre och övre gränser

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-ära operatorer är för stora operatorer med valfria gränser. Enkla operatorer som +, - och = läggs vanligtvis till som MathematicalText och slås ihop i uttrycket.

För en integral, använd Integral:

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

Lägg till matriser

Använd MathMatrix för rader och kolumner. Matriser innehåller inte hakparenteser som standard, så omge matrisen när du behöver parenteser, hakparenteser eller klammer.

En tvåradermatris med en tom cell

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

Lägg till ekvationsarrayer

Använd ToMathArray när du behöver justerade ekvationer eller en vertikal stapel av uttryck.

En vertikal matris med x ovanför 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);

Lägg till trigonometriska funktioner

Använd AsArgumentOfFunction när argumentet är det aktuella elementet och funktionsnamnet är känt.

Den trigonometriska funktionen cos tillämpad på 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);

Lägg till nedsänkta och upphöjda

Använd hjälpfunktionerna för nedsänkta och upphöjda för index och potenser. När indexen måste visas på vänster sida av basen, använd SetSubSuperscriptOnTheLeft.

Ett stort Y med nedsänkt index 1 till vänster och upphöjd 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);

Lägg till avgränsare

Använd Enclose för att placera ett uttryck inom avgränsare. Du kan också ange ett separatorstecken för avgränsade uttryck som innehåller flera element.

Ett avgränsat uttryck som innehåller x, y och z separerade med vertikala staplar

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

Lägg till en ramruta

Använd ToBorderBox när själva ekvationen ska ramas in.

En inramad ekvation som visar a kvadrat är lika med b kvadrat plus c kvadrat

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

Gruppera termer

Använd Group för att placera ett grupperingstecken ovanför eller under ett uttryck. Lägg till en gräns för att märka de grupperade termerna.

Uttrycket x plus y grupperat med etiketten någon text nedanför

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

Formatera matematiska element

Använd formateringshjälp med endast där de förtydligar formeln. Till exempel placerar Overbar ett streck över ett matematiskt element.

Ett matematiskt uttryck ABC med ett överstreck

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

Snabbreferens

Uppgift Huvud‑API
Skapa matematisk text MathematicalText
Kombinera element IMathElement.Join
Skapa bråk IMathElement.Divide
Lägg till upphöjd eller nedsänkt SetSuperscript, SetSubscript
Lägg till funktioner Function, AsArgumentOfFunction
Lägg till radikaler IMathElement.Radical
Lägg till gränsvärden SetLowerLimit, SetUpperLimit
Lägg till vänstersidiga index SetSubSuperscriptOnTheLeft
Lägg till summor och integraler Nary, Integral
Lägg till matriser MathMatrix
Lägg till ekvationsarrayer ToMathArray
Lägg till avgränsare Enclose
Lägg till överstreck och ramar Overbar, ToBorderBox
Gruppera termer Group

FAQ

Kan jag redigera en befintlig PowerPoint‑ekvation?

Ja. Öppna presentationen, hitta formen som innehåller en MathPortion, hämta dess MathParagraph och uppdatera de matematiska blocken i det stycket.

Sparas ekvationer som redigerbar PowerPoint‑matte?

Ja. När du sparar till PPTX skriver Aspose.Slides ekvationen som redigerbart Office‑matematikinnehåll.

Kan jag exportera ekvationer till LaTeX?

Aspose.Slides exporterar matematiska ekvationer till MathML. Om du behöver LaTeX, exportera först till MathML och konvertera sedan MathML med ett verktyg som stödjer ditt mål‑LaTeX‑dialekt.