Rendre des équations et des formules mathématiques à l'aide de C#

LaTeX est un logiciel puissant pour composer des mathématiques. Il permet d’intégrer des formules et des équations mathématiques dans le fichier TEX, qui est un document source préparé par LaTeX. Il fournit de nombreuses commandes pour spécifier le format du document, y compris le texte, les symboles, les expressions mathématiques et les graphiques. Nous pouvons écrire des équations de base et des formules mathématiques par programme sans utiliser LaTeX. Dans cet article, nous allons apprendre à rendre des équations LaTeX et des formules mathématiques à l’aide de C#.

Les sujets suivants seront traités dans cet article :

API C# pour rendre les équations LaTeX et les formules mathématiques

Pour le rendu des formules mathématiques LaTeX, nous utiliserons l’API Aspose.TeX for .NET. Il permet de composer des fichiers TeX dans différents formats de fichiers tels que PDF, XPS ou des images. Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.TeX

Rendu des formules mathématiques en ligne LaTeX à l’aide de C#

Nous pouvons rendre de simples formules ou équations mathématiques en ligne en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe MathRendererOptions
  2. Ensuite, spécifiez le préambule du document LaTeX.
  3. Définissez éventuellement diverses propriétés telles que Scale, TextColor, BackgroundColor, etc.
  4. Après cela, créez le flux de sortie pour l’image de la formule.
  5. Enfin, appelez la méthode Render() pour rendre la formule. Il prend la chaîne de formule, le flux, MathRendererOptions et la taille de l’image de sortie comme argument.

L’exemple de code suivant montre comment restituer une formule mathématique par programmation à l’aide de C#.

// Cet exemple de code montre comment afficher des formules et des équations mathématiques
// Créer des options de rendu en spécifiant la résolution d'image 150 dpi
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

// Précisez le préambule.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// Spécifiez le facteur d'échelle 300 %.
options.Scale = 3000;

// Spécifiez la couleur de premier plan.
options.TextColor = System.Drawing.Color.Black;

// Spécifiez la couleur d'arrière-plan.
options.BackgroundColor = System.Drawing.Color.White;

// Spécifiez le flux de sortie pour le fichier journal.
options.LogStream = new MemoryStream();

// Spécifiez si vous souhaitez afficher ou non la sortie du terminal sur la console.
options.ShowTerminal = true;

// La variable dans laquelle les dimensions de l'image résultante seront écrites.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Créez le flux de sortie pour l'image de la formule.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // Exécutez le rendu.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// Afficher d'autres résultats.
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
Rendu des formules mathématiques en ligne à l'aide de C#

Rendu des formules mathématiques en ligne à l’aide de C#

Rendre des équations complexes en C#

Nous pouvons rendre toutes les équations ou formules complexes en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de fournir la chaîne de formule à l’étape 4, comme indiqué ci-dessous :

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);
Rendre des équations complexes en C#

Rendre des équations complexes en C#

Afficher les équations longues en C#

Nous pouvons afficher de longues équations sur plusieurs lignes en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de fournir la chaîne de formule à l’étape 4, comme indiqué ci-dessous :

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);
Afficher les équations longues

Afficher les équations longues en C#

Aligner plusieurs équations à l’aide de C#

Nous pouvons également aligner et rendre plusieurs équations ou formules à la fois en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de fournir la chaîne de formule à l’étape 4, comme indiqué ci-dessous :

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);
Aligner plusieurs équations à l'aide de C#

Aligner plusieurs équations à l’aide de C#

Regrouper et centrer les équations à l’aide de C#

Nous pouvons regrouper et centrer plusieurs équations lors du rendu en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de fournir la chaîne de formule à l’étape 4, comme indiqué ci-dessous :

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

Regrouper et centrer les équations à l’aide de C#

Matrices de rendu, parenthèses et crochets en C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

Nous pouvons également afficher des matrices, des parenthèses et des crochets en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de fournir la chaîne de formule à l’étape 4, comme indiqué ci-dessous :

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);
Matrices de rendu, parenthèses et crochets en C#

Matrices de rendu, parenthèses et crochets en C#

Rendu des fractions et des binômes à l’aide de C#

Nous pouvons également rendre des fractions et des binômes en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de fournir la chaîne de formule à l’étape 4, comme indiqué ci-dessous :

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
Rendu des fractions et des binômes à l'aide de C#

Rendu des fractions et des binômes à l’aide de C#

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitations d’évaluation.

Conclusion

Dans cet article, nous avons appris à :

  • rendre des formules et des équations mathématiques simples et complexes en C#
  • aligner et regrouper des équations par programme
  • rendre les matrices, les parenthèses, les parenthèses, les fractions et les binômes

En outre, vous pouvez en savoir plus sur Aspose.TeX for .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également