Rendering di equazioni e formule matematiche utilizzando C#

LaTeX è un potente software per comporre matematica. Consente di incorporare formule ed equazioni matematiche nel file TEX, che è un documento sorgente preparato da LaTeX. Fornisce molti comandi per specificare il formato del documento, inclusi testo, simboli, espressioni matematiche e grafica. Possiamo scrivere equazioni di base e formule matematiche in modo programmatico senza usare LaTeX. In questo articolo impareremo come eseguire il rendering di equazioni LaTeX e formule matematiche usando C#.

In questo articolo verranno trattati i seguenti argomenti:

API C# per il rendering di equazioni LaTeX e formule matematiche

Per il rendering di formule matematiche LaTeX, utilizzeremo l’API Aspose.TeX for .NET. Consente di comporre i file TeX in diversi formati di file come PDF, XPS o immagini. Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.TeX

Rendering di formule matematiche in linea LaTeX usando C#

Possiamo rendere semplici formule o equazioni matematiche in linea seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe MathRendererOptions.
  2. Quindi, specifica il preambolo del documento LaTeX.
  3. Facoltativamente, imposta varie proprietà come Scale, TextColor, BackgroundColor, ecc.
  4. Successivamente, crea il flusso di output per l’immagine della formula.
  5. Infine, chiama il metodo Render() per eseguire il rendering della formula. Prende come argomento la stringa della formula, lo stream, MathRendererOptions e la dimensione dell’immagine di output.

Nell’esempio di codice seguente viene illustrato come eseguire il rendering di una formula matematica a livello di codice usando C#.

// Questo esempio di codice mostra come eseguire il rendering di formule ed equazioni matematiche
// Crea opzioni di rendering specificando la risoluzione dell'immagine 150 dpi
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

// Specificare il preambolo.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// Specificare il fattore di scala 300%.
options.Scale = 3000;

// Specificare il colore di primo piano.
options.TextColor = System.Drawing.Color.Black;

// Specificare il colore di sfondo.
options.BackgroundColor = System.Drawing.Color.White;

// Specificare il flusso di output per il file di registro.
options.LogStream = new MemoryStream();

// Specificare se mostrare o meno l'output del terminale sulla console.
options.ShowTerminal = true;

// La variabile in cui verranno scritte le dimensioni dell'immagine risultante.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Crea il flusso di output per l'immagine della formula.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // Esegui il rendering.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// Mostra altri risultati.
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
Rendering di formule matematiche in linea usando C#

Rendering di formule matematiche in linea usando C#

Rendering di equazioni complesse in C#

Possiamo eseguire il rendering di equazioni o formule complesse seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo fornire la stringa della formula al passaggio n. 4 come mostrato di seguito:

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);
Rendering di equazioni complesse in C#

Rendering di equazioni complesse in C#

Visualizza equazioni lunghe in C#

Possiamo visualizzare equazioni lunghe su più righe seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo fornire la stringa della formula al passaggio n. 4 come mostrato di seguito:

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);
Visualizza equazioni lunghe

Visualizza equazioni lunghe in C#

Allinea diverse equazioni usando C#

Possiamo anche allineare e rendere più equazioni o formule contemporaneamente seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo fornire la stringa della formula al passaggio n. 4 come mostrato di seguito:

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);
Allinea diverse equazioni usando C#

Allinea diverse equazioni usando C#

Raggruppa e centra le equazioni usando C#

Possiamo raggruppare e centrare più equazioni durante il rendering seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo fornire la stringa della formula al passaggio n. 4 come mostrato di seguito:

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);
Raggruppa e centra-equazioni utilizzando CSharp

Raggruppa e centra le equazioni usando C#

Rendering di matrici, parentesi e parentesi in C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

Possiamo anche eseguire il rendering di matrici, parentesi e parentesi seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo fornire la stringa della formula al passaggio n. 4 come mostrato di seguito:

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);
Rendering di matrici, parentesi e parentesi in C#

Rendering di matrici, parentesi e parentesi in C#

Rendering di frazioni e binomi usando C#

Possiamo anche rendere frazioni e binomi seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo fornire la stringa della formula al passaggio n. 4 come mostrato di seguito:

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
Rendering di frazioni e binomi usando C#

Rendering di frazioni e binomi usando C#

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato a:

  • renderizzare formule ed equazioni matematiche semplici e complesse in C#
  • allineare e raggruppare le equazioni in modo programmatico
  • renderizzare Matrici, Parentesi, Parentesi, Frazioni e Binomi

Inoltre, puoi saperne di più su Aspose.TeX per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche