Representar ecuaciones y fórmulas matemáticas usando C#

LaTeX es un poderoso software para escribir matemáticas. Permite incrustar fórmulas y ecuaciones matemáticas en el archivo TEX, que es un documento fuente preparado por LaTeX. Proporciona muchos comandos para especificar el formato del documento, incluidos texto, símbolos, expresiones matemáticas y gráficos. Podemos escribir ecuaciones básicas y fórmulas matemáticas programáticamente sin usar LaTeX. En este artículo, aprenderemos cómo renderizar ecuaciones LaTeX y fórmulas matemáticas usando C#.

En este artículo se tratarán los siguientes temas:

API de C# para renderizar ecuaciones LaTeX y fórmulas matemáticas

Para renderizar fórmulas matemáticas de LaTeX, usaremos la API Aspose.TeX for .NET. Permite componer archivos TeX en diferentes formatos de archivo como PDF, XPS o imágenes. Descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.TeX

Renderizar fórmulas matemáticas en línea de LaTeX usando C#

Podemos representar fórmulas o ecuaciones matemáticas sencillas en línea siguiendo los pasos que se indican a continuación:

  1. En primer lugar, cree una instancia de la clase MathRendererOptions
  2. A continuación, especifique el preámbulo del documento LaTeX.
  3. Opcionalmente, establezca varias propiedades como Scale, TextColor, BackgroundColor, etc.
  4. Después de eso, cree el flujo de salida para la imagen de la fórmula.
  5. Finalmente, llame al método Render() para representar la fórmula. Toma cadena de fórmula, secuencia, MathRendererOptions y el tamaño de la imagen de salida como argumento.

El siguiente ejemplo de código muestra cómo representar una fórmula matemática mediante programación mediante C#.

// Este ejemplo de código demuestra cómo representar fórmulas y ecuaciones matemáticas
// Cree opciones de renderizado especificando la resolución de la imagen 150 dpi
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

// Especifique el preámbulo.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// Especifique el factor de escala 300%.
options.Scale = 3000;

// Especifique el color de primer plano.
options.TextColor = System.Drawing.Color.Black;

// Especifique el color de fondo.
options.BackgroundColor = System.Drawing.Color.White;

// Especifique el flujo de salida para el archivo de registro.
options.LogStream = new MemoryStream();

// Especifique si desea mostrar la salida del terminal en la consola o no.
options.ShowTerminal = true;

// La variable en la que se escribirán las dimensiones de la imagen resultante.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Cree el flujo de salida para la imagen de la fórmula.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // Ejecutar renderizado.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// Mostrar otros resultados.
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
Representar fórmulas matemáticas en línea usando C#

Representar fórmulas matemáticas en línea usando C#

Representar ecuaciones complejas en C#

Podemos representar cualquier ecuación o fórmula compleja siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos proporcionar la cadena de fórmula en el paso 4, como se muestra a continuación:

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);
Representar ecuaciones complejas en C#

Representar ecuaciones complejas en C#

Mostrar ecuaciones largas en C#

Podemos mostrar ecuaciones largas en varias líneas siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos proporcionar la cadena de fórmula en el paso 4, como se muestra a continuación:

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);
Mostrar ecuaciones largas

Mostrar ecuaciones largas en C#

Alinear varias ecuaciones usando C#

También podemos alinear y representar varias ecuaciones o fórmulas a la vez siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos proporcionar la cadena de fórmula en el paso 4, como se muestra a continuación:

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);
Alinear varias ecuaciones usando C#

Alinear varias ecuaciones usando C#

Agrupar y centrar ecuaciones usando C#

Podemos agrupar y centrar múltiples ecuaciones mientras renderizamos siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos proporcionar la cadena de fórmula en el paso 4, como se muestra a continuación:

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);
Grupo-y-centro-ecuaciones-usando-CSharp

Agrupar y centrar ecuaciones usando C#

Representar matrices, paréntesis y corchetes en C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

También podemos representar matrices, paréntesis y corchetes siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos proporcionar la cadena de fórmula en el paso 4, como se muestra a continuación:

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);
Representar matrices, paréntesis y corchetes en C#

Representar matrices, paréntesis y corchetes en C#

Renderizar fracciones y binomios usando C#

También podemos representar fracciones y binomios siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos proporcionar la cadena de fórmula en el paso 4, como se muestra a continuación:

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
Renderizar fracciones y binomios usando C#

Renderizar fracciones y binomios usando C#

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido a:

  • representar fórmulas y ecuaciones matemáticas simples y complejas en C#
  • alinear y agrupar ecuaciones programáticamente
  • representar matrices, paréntesis, corchetes, fracciones y binomios

Además, puede obtener más información sobre Aspose.TeX for .NET API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también