Vykreslování rovnic a matematických vzorců pomocí C#

LaTeX je výkonný software pro sazbu matematiky. Umožňuje vkládat vzorce a matematické rovnice do souboru TEX, což je zdrojový dokument připravený LaTeXem. Poskytuje mnoho příkazů pro určení formátu dokumentu, včetně textu, symbolů, matematických výrazů a grafiky. Základní rovnice a matematické vzorce můžeme psát programově bez použití LaTeXu. V tomto článku se naučíme, jak vykreslovat rovnice LaTeXu a matematické vzorce pomocí C#.

V tomto článku se budou zabývat následujícími tématy:

  1. C# API pro vykreslování rovnic a matematických vzorců LaTeXu
  2. Render LaTeX Inline Math Formulas
  3. Render Complex Equations
  4. Display Long Equations
  5. Zarovnat několik rovnic
  6. Skupinové a středové rovnice
  7. Vykreslit matice, závorky a závorky
  8. Render Fractions and Binomials

C# API pro vykreslování LaTeXových rovnic a matematických vzorců

Pro vykreslení matematických vzorců LaTeXu budeme používat API Aspose.TeX for .NET. Umožňuje sazbu souborů TeX do různých formátů souborů, jako jsou PDF, XPS nebo obrázky.

Prosím buď stáhněte si DLL API, nebo jej nainstalujte pomocí NuGet.

PM> Install-Package Aspose.TeX

Vykreslování vzorců LaTeX Inline Math pomocí C#

Jednoduché vložené matematické vzorce nebo rovnice můžeme vykreslit podle následujících kroků:

  1. Nejprve vytvořte instanci třídy MathRendererOptions
  2. Dále zadejte preambuli dokumentu LaTeX.
  3. Volitelně nastavte různé vlastnosti, jako je Scale, TextColor, BackgroundColor atd.
  4. Poté vytvořte výstupní proud pro obraz vzorce.
  5. Nakonec zavolejte metodu Render() k vykreslení vzorce. Jako argumenty bere řetězec vzorce, proud, MathRendererOptions a velikost výstupního obrázku.

Následující ukázka kódu ukazuje, jak vykreslit matematický vzorec programově pomocí C#.

// Tento příklad kódu ukazuje, jak vykreslit matematické vzorce a rovnice
// Vytvořte možnosti vykreslování určující rozlišení obrázku 150 dpi
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

// Upřesněte preambuli.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// Určete faktor měřítka 300 %.
options.Scale = 3000;

// Určete barvu popředí.
options.TextColor = System.Drawing.Color.Black;

// Určete barvu pozadí.
options.BackgroundColor = System.Drawing.Color.White;

// Zadejte výstupní proud pro soubor protokolu.
options.LogStream = new MemoryStream();

// Určete, zda se má na konzole zobrazovat výstup terminálu nebo ne.
options.ShowTerminal = true;

// Proměnná, do které se budou zapisovat rozměry výsledného obrázku.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Vytvořte výstupní proud pro obrázek vzorce.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // Spusťte vykreslování.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// Zobrazit další výsledky.
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
Vykreslení vložených matematických vzorců pomocí C#

Vykreslení vložených matematických vzorců pomocí C#

Vykreslování složitých latexových rovnic v C#

Můžeme vykreslit jakékoli složité latexové rovnice nebo vzorce podle výše uvedených kroků. Potřebujeme však zadat řetězec vzorce v kroku # 4, jak je uvedeno níže:

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);
Vykreslování složitých rovnic v C#

Vykreslování složitých rovnic v C#

Zobrazit dlouhé rovnice v C#

Podle výše uvedených kroků můžeme zobrazit dlouhé rovnice na více řádcích. Potřebujeme však zadat řetězec vzorce v kroku # 4, jak je uvedeno níže:

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);
Display-Long-Equations

Zobrazit dlouhé rovnice v C#

Zarovnat několik rovnic pomocí C#

Můžeme také zarovnat a vykreslit několik rovnic nebo vzorců najednou podle výše uvedených kroků. Potřebujeme však zadat řetězec vzorce v kroku # 4, jak je uvedeno níže:

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);
Zarovnat několik rovnic pomocí C#

Zarovnat několik rovnic pomocí C#

Skupinové a středové rovnice pomocí C#

Při vykreslování můžeme seskupit a vycentrovat více rovnic podle výše uvedených kroků. Potřebujeme však zadat řetězec vzorce v kroku # 4, jak je uvedeno níže:

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);
Skupina-a-střed-rovnice-pomocí-CSharp

Skupinové a středové rovnice pomocí C#

Vykreslování matic, závorek a závorek v C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

Pomocí výše uvedených kroků můžeme také vykreslit matice, závorky a závorky. Potřebujeme však zadat řetězec vzorce v kroku # 4, jak je uvedeno níže:

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);
Vykreslování matic, závorek a závorek v C#

Vykreslování matic, závorek a závorek v C#

Vykreslování zlomků a binomických čísel pomocí C#

Můžeme také vykreslit zlomky a dvojčleny podle výše uvedených kroků. Potřebujeme však zadat řetězec vzorce v kroku # 4, jak je uvedeno níže:

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
Vykreslování zlomků a binomických čísel pomocí C#

Vykreslování zlomků a binomických čísel pomocí C#

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.

Závěr

V tomto článku jsme se naučili, jak:

  • vykreslovat jednoduché a složité matematické vzorce a rovnice v C#
  • zarovnávat a seskupovat rovnice programově
  • renderovat matice, závorky, závorky, zlomky a binomy

Kromě vykreslování rovnic LaTeXu a matematických vzorců v C# se můžete dozvědět více o Aspose.TeX for .NET API pomocí dokumentace. V případě jakýchkoli nejasností nás neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také