LaTeX is a powerful tool to typeset mathematical equations. It supports plenty of mathematical symbols and notations to create mathematical equations, for instance, fractions, integrals and more.
Spire.Presentation API provides developers with the ability to create and add mathematical equations to PowerPoint shape using LaTeX code. The following steps demonstrate how to achieve this function using Spire.Presentation:
- Create a Presentation instance.
- Get the reference of a slide by using its index.
- Use ShapeList.AppendShape method to add a shape to the first slide.
- Use ParagraphCollection.AddParagraphFromLatexMathCode(string) method to create a mathematical equation from LaTeX code and add it to the shape.
- Save the result document using Presentation.SaveToFile(string, FileFormat) method.
The following code shows how to add mathematical equations to PowerPoint in C#.
using Spire.Presentation;
using System.Drawing;
namespace MathEquations
{
class Program
{
static void Main(string[] args)
{
//The LaTeX codes
string latexCode1 = @"x^{2} + \sqrt{x^{2}+1}=2";
string latexCode2 = @"F(x) &= \int^a_b \frac{1}{3}x^3";
string latexCode3 = @"\alpha + \beta \geq \gamma";
string latexCode4 = @"\overrightarrow{abc}";
string latexCode5 = @"\begin{bmatrix} 1 & 0 & \cdots & 0\\ 1 & 0 & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 1 & 0 & 0 & 0 \end{bmatrix}";
string latexCode6 = @"\log_a{b}";
//Create a Presentation instance
Presentation ppt = new Presentation();
//Get the first slide by using its index
ISlide slide = ppt.Slides[0];
//Add a shape to the slide
IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(30, 100, 200, 30));
shape.TextFrame.Paragraphs.Clear();
//Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode1);
//Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(240, 100, 200, 40));
shape.TextFrame.Paragraphs.Clear();
//Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode2);
//Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(30, 180, 200, 40));
shape.TextFrame.Paragraphs.Clear();
//Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode3);
//Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(240, 180, 200, 40));
shape.TextFrame.Paragraphs.Clear();
//Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode4);
//Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(30, 280, 200, 70));
shape.TextFrame.Paragraphs.Clear();
//Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode5);
//Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(240, 280, 200, 40));
shape.TextFrame.Paragraphs.Clear();
//Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode6);
for (int i = 0; i < slide.Shapes.Count; i++)
{
slide.Shapes[i].Fill.FillType = Spire.Presentation.Drawing.FillFormatType.None;
slide.Shapes[i].Line.FillType = Spire.Presentation.Drawing.FillFormatType.None;
}
//Save the result document
ppt.SaveToFile("MathEquations.pptx", FileFormat.Pptx2013);
}
}
}
The following code shows how to add mathematical equations to PowerPoint in VB.NET.
Imports Spire.Presentation
Imports System.Drawing
Namespace MathEquations
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'The LaTeX codes
Dim latexCode1 As String = "x^{2} + \sqrt{x^{2}+1}=2"
Dim latexCode2 As String = "F(x) &= \int^a_b \frac{1}{3}x^3"
Dim latexCode3 As String = "\alpha + \beta \geq \gamma"
Dim latexCode4 As String = "\overrightarrow{abc}"
Dim latexCode5 As String = "\begin{bmatrix} 1 & 0 & \cdots & 0\\ 1 & 0 & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 1 & 0 & 0 & 0 \end{bmatrix}"
Dim latexCode6 As String = "\log_a{b}"
'Create a Presentation instance
Dim ppt As Presentation = New Presentation()
'Get the first slide by using its index
Dim slide As ISlide = ppt.Slides(0)
'Add a shape to the slide
Dim shape As IAutoShape = slide.Shapes.AppendShape(ShapeType.Rectangle, New RectangleF(30, 100, 200, 30))
shape.TextFrame.Paragraphs.Clear()
'Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode1)
'Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, New RectangleF(240, 100, 200, 40))
shape.TextFrame.Paragraphs.Clear()
'Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode2)
'Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, New RectangleF(30, 180, 200, 40))
shape.TextFrame.Paragraphs.Clear()
'Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode3)
'Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, New RectangleF(240, 180, 200, 40))
shape.TextFrame.Paragraphs.Clear()
'Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode4)
'Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, New RectangleF(30, 280, 200, 70))
shape.TextFrame.Paragraphs.Clear()
'Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode5)
'Add a shape to the slide
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, New RectangleF(240, 280, 200, 40))
shape.TextFrame.Paragraphs.Clear()
'Add a math equation to the shape using the LaTeX code
shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexCode6)
For i As Integer = 0 To slide.Shapes.Count - 1
slide.Shapes(i).Fill.FillType = Spire.Presentation.Drawing.FillFormatType.None
slide.Shapes(i).Line.FillType = Spire.Presentation.Drawing.FillFormatType.None
Next
'Save the result document
ppt.SaveToFile("MathEquations.pptx", FileFormat.Pptx2013)
End Sub
End Class
End Namespace
The following is the output document after adding mathematical equations:

Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.