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
- Renderizar fórmulas matemáticas em linha do LaTeX
- Renderizar equações complexas
- Exibir equações longas
- Alinhar várias equações
- Equações de Grupo e Centro
- Matrizes de renderização, parênteses e colchetes
- Renderizar frações e binômios
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:
- Em primeiro lugar, crie uma instância da classe MathRendererOptions
- Em seguida, especifique o preâmbulo do documento LaTeX.
- Opcionalmente, defina várias propriedades, como Escala, TextColor, BackgroundColor, etc.
- Depois disso, crie o fluxo de saída para a imagem da fórmula.
- 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);
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);
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);
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);
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);
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 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);
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.