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
- Rendering di formule matematiche in linea LaTeX
- Rendering di equazioni complesse
- Visualizza equazioni lunghe
- Allinea diverse equazioni
- Equazioni di gruppo e di centro
- Rendering di matrici, parentesi e parentesi
- Render frazioni e binomi
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:
- Innanzitutto, crea un’istanza della classe MathRendererOptions.
- Quindi, specifica il preambolo del documento LaTeX.
- Facoltativamente, imposta varie proprietà come Scale, TextColor, BackgroundColor, ecc.
- Successivamente, crea il flusso di output per l’immagine della formula.
- 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 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);
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);
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);
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);
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 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);
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.