Fórmulas de matemática de LaTeX Renderização | .NET

Como renderizar uma fórmula de matemática de LaTeX para png

A seção de referência da API relacionada a este tópico é aqui. De fato, a maneira mais fácil de demonstrar o recurso FORMULAÇÃO DE FORMULAÇÃO DE MATHA DE LATEX é começar com o exemplo. Aqui está:

 1// Create rendering options setting the image resolution to 150 dpi.
 2PngMathRendererOptions options = new PngMathRendererOptions();
 3options.Resolution = 150;
 4// Specify the preamble.
 5options.Preamble = @"\usepackage{amsmath}
 6\usepackage{amsfonts}
 7\usepackage{amssymb}
 8\usepackage{color}";
 9// Specify the scaling factor 300%.
10options.Scale = 3000;
11// Specify the foreground color.
12options.TextColor = System.Drawing.Color.Black;
13// Specify the background color.
14options.BackgroundColor = System.Drawing.Color.White;
15// Specify the output stream for the log file.
16options.LogStream = new System.IO.MemoryStream();
17// Specify whether to show the terminal output on the console or not.
18options.ShowTerminal = true;
19
20// Create the output stream for the formula image.
21using (System.IO.Stream stream = System.IO.File.Open(
22    System.IO.Path.Combine(RunExamples.OutputDirectory, "math-formula.png"), System.IO.FileMode.Create))
23{
24    // Run rendering.
25    System.Drawing.SizeF size = new PngMathRenderer().Render(@"\begin{equation*}
26e^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!}
27\end{equation*}", stream, options);
28    
29    // Show other results.
30    System.Console.Out.WriteLine(options.ErrorReport);
31    System.Console.Out.WriteLine();
32    System.Console.Out.WriteLine("Size: " + size); // Dimensions of the resulting image.
33}

Vamos até os detalhes. Primeiro de tudo, criamos uma instância de renderização, semelhante à digitação Tex/Latex. Fazemos isso aqui especificando simultaneamente a resolução da imagem de saída.

Em seguida, especificamos o preâmbulo. O preâmbulo padrão é:

1\usepackage{amsmath}
2\usepackage{amsfonts}
3\usepackage{amssymb}

que fornece suporte a fórmula matemática um pouco mais avançado do que o LaTeX básico. Você pode, por exemplo, adicionar o pacote color se quiser usar seu próprio destaque na fórmula, como mostramos no exemplo do código.

Em seguida, instruímos o renderizador a escalar a saída em 300%.

As próximas duas opções definem as cores de primeiro plano e fundo. As partes da fórmula que não são cobertas (“coloridas”) pelo destaque personalizado serão exibidas na cor ’textColor`.

A próxima linha do exemplo não faz muito sentido. Ele apenas demonstra que você pode direcionar a saída de log para algum fluxo.

E a última opção showterminal permite alternar a gravação da saída do terminal no console.

O método que realmente executa a renderização é MathRenderer.render(). Ele retorna o tamanho da fórmula em pontos.

O fluxo em que a imagem deve ser escrito é aceito pelo método como o segundo argumento. Criamos o fluxo a seguir.

E, finalmente, chamamos o próprio método de MathRenderer.render(), passando as opções como o terceiro argumento. O código do LATEX da fórmula é aprovado como o primeiro argumento.

As últimas linhas do exemplo imprimem dois artefatos de renderização de fórmula matemática - o tamanho da fórmula e o breve relatório de erro (caso haja erros).

Aqui está o resultado da renderização.

Fórmula de matemática de LaTeX renderização para PNG

Este é o caso de uso mais geral para o recurso de fórmula matemática.

Você também pode conferir o [aplicativo web] gratuito (5) construído com base no recurso implementado em Aspose.TeX para .NET API.

Como renderizar uma fórmula de matemática de LaTeX para SVG

Da mesma maneira, podemos renderizar uma fórmula matemática de LaTeX ao formato SVG.

 1// Create rendering options.
 2MathRendererOptions options = new SvgMathRendererOptions();
 3// Specify the preamble.
 4options.Preamble = @"\usepackage{amsmath}
 5\usepackage{amsfonts}
 6\usepackage{amssymb}
 7\usepackage{color}";
 8// Specify the scaling factor 300%.
 9options.Scale = 3000;
10// Specify the foreground color.
11options.TextColor = System.Drawing.Color.Black;
12// Specify the background color.
13options.BackgroundColor = System.Drawing.Color.White;
14// Specify the output stream for the log file.
15options.LogStream = new System.IO.MemoryStream();
16// Specify whether to show the terminal output on the console or not.
17options.ShowTerminal = true;
18
19// Create the output stream for the formula image.
20using (System.IO.Stream stream = System.IO.File.Open(
21    System.IO.Path.Combine(RunExamples.OutputDirectory, "math-formula.svg"), System.IO.FileMode.Create))
22{
23    // Run rendering.
24    System.Drawing.SizeF size = new SvgMathRenderer().Render(@"\begin{equation*}
25e^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!}
26\end{equation*}", stream, options);
27    
28    // Show other results.
29    System.Console.Out.WriteLine(options.ErrorReport);
30    System.Console.Out.WriteLine();
31    System.Console.Out.WriteLine("Size: " + size); // Dimensions of the resulting image.
32}

As diferenças são:

Aqui está o resultado:

Fórmula de matemática de LaTeX renderização para SVG

Você também pode conferir o [aplicativo web] gratuito (12) construído com base no recurso implementado em Aspose.TeX para .NET API.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.