Renderize equações e fórmulas matemáticas usando C#

LaTeX é um software poderoso para escrever matemática. Ele permite incorporar fórmulas e equações matemáticas no arquivo TEX, que é um documento fonte preparado pelo LaTeX. Ele fornece muitos comandos para especificar o formato do documento, incluindo texto, símbolos, expressões matemáticas e gráficos. Podemos escrever equações básicas e fórmulas matemáticas programaticamente sem usar o LaTeX. Neste artigo, aprenderemos como renderizar equações LaTeX e fórmulas matemáticas usando C#.

Os seguintes tópicos serão abordados neste artigo:

API C# para renderizar equações LaTeX e fórmulas matemáticas

Para renderizar fórmulas matemáticas em LaTeX, usaremos a API Aspose.TeX for .NET. Ele permite a composição de arquivos TeX para diferentes formatos de arquivo, como PDF, XPS ou imagens. Por favor, baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.TeX

Renderize fórmulas matemáticas em linha do LaTeX usando C#

Podemos renderizar fórmulas ou equações matemáticas em linha simples seguindo as etapas abaixo:

  1. Em primeiro lugar, crie uma instância da classe MathRendererOptions
  2. Em seguida, especifique o preâmbulo do documento LaTeX.
  3. Opcionalmente, defina várias propriedades, como Escala, TextColor, BackgroundColor, etc.
  4. Depois disso, crie o fluxo de saída para a imagem da fórmula.
  5. Finalmente, chame o método Render() para renderizar a fórmula. Leva a string de fórmula, stream, MathRendererOptions e o tamanho da imagem de saída como argumento.

O exemplo de código a seguir demonstra como renderizar uma fórmula matemática programaticamente usando C#.

// Este exemplo de código demonstra como renderizar fórmulas e equações matemáticas
// Crie opções de renderização especificando a resolução da imagem 150 dpi
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

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

// Especifique o fator de escala 300%.
options.Scale = 3000;

// Especifique a cor do primeiro plano.
options.TextColor = System.Drawing.Color.Black;

// Especifique a cor de fundo.
options.BackgroundColor = System.Drawing.Color.White;

// Especifique o fluxo de saída para o arquivo de log.
options.LogStream = new MemoryStream();

// Especifique se deseja mostrar a saída do terminal no console ou não.
options.ShowTerminal = true;

// A variável na qual as dimensões da imagem resultante serão gravadas.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Crie o fluxo de saída para a imagem da fórmula.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // Execute a renderização.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// Mostrar outros resultados.
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
Renderizar fórmulas matemáticas em linha usando C#

Renderizar fórmulas matemáticas em linha usando C#

Renderize equações complexas em C#

Podemos renderizar quaisquer equações ou fórmulas complexas seguindo as etapas mencionadas anteriormente. No entanto, só precisamos fornecer a string da fórmula na etapa 4, conforme mostrado abaixo:

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);
Renderize equações complexas em C#

Renderize equações complexas em C#

Exibir equações longas em C#

Podemos exibir equações longas em várias linhas seguindo as etapas mencionadas anteriormente. No entanto, só precisamos fornecer a string da fórmula na etapa 4, conforme mostrado abaixo:

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);
Exibir-Equações Longas

Exibir equações longas em C#

Alinhar várias equações usando C#

Também podemos alinhar e renderizar várias equações ou fórmulas de uma só vez seguindo as etapas mencionadas anteriormente. No entanto, só precisamos fornecer a string da fórmula na etapa 4, conforme mostrado abaixo:

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);
Alinhar várias equações usando C#

Alinhar várias equações usando C#

Equações de grupo e centro usando C#

Podemos agrupar e centralizar várias equações durante a renderização seguindo as etapas mencionadas anteriormente. No entanto, só precisamos fornecer a string da fórmula na etapa 4, conforme mostrado abaixo:

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-e-centro-equações-usando-CSharp

Equações de grupo e centro usando C#

Renderize matrizes, parênteses e colchetes em C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

Também podemos renderizar matrizes, parênteses e colchetes seguindo as etapas mencionadas anteriormente. No entanto, só precisamos fornecer a string da fórmula na etapa 4, conforme mostrado abaixo:

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);
Renderize matrizes, parênteses e colchetes em C#

Renderize matrizes, parênteses e colchetes em C#

Renderize frações e binômios usando C#

Também podemos renderizar frações e binômios seguindo as etapas mencionadas anteriormente. No entanto, só precisamos fornecer a string da fórmula na etapa 4, conforme mostrado abaixo:

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
Renderize frações e binômios usando C#

Renderize frações e binômios usando C#

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como:

  • renderizar fórmulas e equações matemáticas simples e complexas em C#
  • alinhar e agrupar equações programaticamente
  • renderizar matrizes, parênteses, colchetes, frações e binômios

Além disso, você pode aprender mais sobre o Aspose.TeX for .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também