Gör ekvationer och matematiska formler med C#

LaTeX är en kraftfull programvara för typmatematik. Det tillåter att bädda in formler och matematiska ekvationer i filen TEX, som är ett källdokument som utarbetats av LaTeX. Den tillhandahåller många kommandon för att specificera formatet på dokumentet, inklusive text, symboler, matematiska uttryck och grafik. Vi kan skriva grundläggande ekvationer och matematiska formler programmatiskt utan att använda LaTeX. I den här artikeln kommer vi att lära oss hur man renderar LaTeX-ekvationer och matematiska formler med C#.

Följande ämnen ska behandlas i den här artikeln:

  1. C# API för att rendera LaTeX-ekvationer och matematiska formler
  2. Render LaTeX Inline Math Formulas
  3. Render Complex Equations
  4. Visa långa ekvationer
  5. Align Several Equations
  6. Group and Center Equations
  7. Render Matrices, Parenthesis and Brackets
  8. Generera bråk och binomialer

C# API för att rendera LaTeX-ekvationer och matematiska formler

För att rendera LaTeX matematiska formler kommer vi att använda Aspose.TeX for .NET API. Det tillåter typsättning av TeX-filer till olika filformat som PDF, XPS eller bilder.

Vänligen antingen ladda ned DLL för API:t eller installera den med NuGet.

PM> Install-Package Aspose.TeX

Rendera LaTeX Inline Math-formler med C#

Vi kan återge enkla inline matematiska formler eller ekvationer genom att följa stegen nedan:

  1. Skapa först en instans av klassen MathRendererOptions
  2. Ange sedan LaTeX-dokumentets inledning.
  3. Alternativt kan du ställa in olika egenskaper som Skala, Textfärg, Bakgrundsfärg, etc.
  4. Efter det skapar du utdataströmmen för formelbilden.
  5. Anropa slutligen metoden Render() för att återge formeln. Det tar formelsträng, ström, MathRendererOptions och utdatabildstorleken som argument.

Följande kodexempel visar hur man renderar en matematisk formel programmatiskt med C#.

// Detta kodexempel visar hur man renderar matematiska formler och ekvationer
// Skapa renderingsalternativ som anger bildupplösningen 150 dpi
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

// Specificera ingressen.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// Ange skalfaktorn 300 %.
options.Scale = 3000;

// Ange förgrundsfärgen.
options.TextColor = System.Drawing.Color.Black;

// Ange bakgrundsfärgen.
options.BackgroundColor = System.Drawing.Color.White;

// Ange utdataströmmen för loggfilen.
options.LogStream = new MemoryStream();

// Ange om terminalutgången ska visas på konsolen eller inte.
options.ShowTerminal = true;

// Variabeln där dimensionerna för den resulterande bilden kommer att skrivas.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Skapa utdataströmmen för formelbilden.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // Kör rendering.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// Visa andra resultat.
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
Gör inline matematiska formler med C#

Gör inline matematiska formler med C#

Rendera komplexa latexekvationer i C#

Vi kan återge alla komplexa latexekvationer eller formler genom att följa stegen som nämnts tidigare. Men vi behöver bara tillhandahålla formelsträngen i steg # 4 som visas nedan:

MathRenderer.Render(@"\begin{equation*}
                e^x = x^{\color{red}0} + x^{\color{red}1} + 
                \frac{x^{\color{red}2}}{2} + 
                \frac{x^{\color{red}3}}{6} + 
                \cdots = \sum_{n\geq 0} \frac{x^{\color{red}n}}{n!}
                \end{equation*}", stream, options, out size);
Gör komplexa ekvationer i C#

Gör komplexa ekvationer i C#

Visa långa ekvationer i C#

Vi kan visa långa ekvationer på flera linjer genom att följa stegen som nämnts tidigare. Men vi behöver bara tillhandahålla formelsträngen i steg # 4 som visas nedan:

MathRenderer.Render(@"\begin{document}
                    \begin{multline*}
	            p(x) = x^1+x^2+x^3+x^4\\ 
	            - x^4 - x^3 - x^2 - x
	            \end{multline*}
                    \end{document}", stream, options, out size);
Display-Långa-ekvationer

Visa långa ekvationer i C#

Justera flera ekvationer med C#

Vi kan också ställa in och återge flera ekvationer eller formler samtidigt genom att följa stegen som nämnts tidigare. Men vi behöver bara tillhandahålla formelsträngen i steg # 4 som visas nedan:

MathRenderer.Render(@"\begin{document}
                         \begin{align*}
                         a+b   &  a-b   &  (a+b)(a-b)\\
                         x+y   &  x-y   &  (x+y)(x-y)\\
                         p+q   &  p-q   &  (p+q)(p-q)
                         \end{align*}
                         \end{document}", stream, options, out size);
Justera flera ekvationer med C#

Justera flera ekvationer med C#

Grupp- och centerekvationer med C#

Vi kan gruppera och centrera flera ekvationer medan vi renderar genom att följa stegen som nämnts tidigare. Men vi behöver bara tillhandahålla formelsträngen i steg # 4 som visas nedan:

MathRenderer.Render(@"\begin{gather*} 
                (a+b)=a^2+b^2+2ab \\ 
                (a-b)=a^2+b^2-2ab \\
                (a-b)=a^2+b^2-2ab
                \end{gather*}", stream, options, out size);
Group-and-Center-Equations-using-CSharp

Grupp- och centerekvationer med C#

Återge matriser, parenteser och parenteser i C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

Vi kan också rendera matriser, parenteser och parenteser genom att följa stegen som nämnts tidigare. Men vi behöver bara tillhandahålla formelsträngen i steg # 4 som visas nedan:

MathRenderer.Render(@"\begin{document}
	            [ 
	            \left \{
	              \begin{tabular}{ccc}
	              1 & 4 & 7 \\
	              2 & 5 & 8 \\
	              3 & 6 & 9 
	              \end{tabular}
	            \right \}
	            ]
	            \end{document}", stream, options, out size);
Återge matriser, parenteser och parenteser i C#

Återge matriser, parenteser och parenteser i C#

Återge bråk och binomialer med C#

Vi kan också rendera bråk och binomialer genom att följa stegen som nämnts tidigare. Men vi behöver bara tillhandahålla formelsträngen i steg # 4 som visas nedan:

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
Återge bråk och binomialer med C#

Återge bråk och binomialer med C#

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man:

  • rendera enkla och komplexa matematiska formler och ekvationer i C#
  • anpassa och gruppera ekvationer programmatiskt
  • rendera matriser, parenteser, parenteser, bråk och binomialer

Förutom att rendera LaTeX-ekvationer och matematiska formler i C# kan du lära dig mer om Aspose.TeX för .NET API med dokumentation. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även