Відтворення рівнянь і математичних формул за допомогою C#

LaTeX — це потужне програмне забезпечення для верстки. Це дозволяє вбудовувати формули та математичні рівняння у файл TEX, який є вихідним документом, підготовленим LaTeX. Він надає багато команд для визначення формату документа, включаючи текст, символи, математичні вирази та графіку. Ми можемо писати основні рівняння та математичні формули програмно, не використовуючи LaTeX. У цій статті ми навчимося відтворювати рівняння та математичні формули LaTeX за допомогою C#.

У цій статті будуть розглянуті такі теми:

  1. C# API для відтворення рівнянь і математичних формул LaTeX
  2. Відтворення вбудованих математичних формул LaTeX
  3. Відтворення складних рівнянь
  4. Показати довгі рівняння
  5. Вирівняти кілька рівнянь
  6. Рівняння групи та центру
  7. Візуалізація матриць, круглих дужок і дужок
  8. Відобразити дроби та біноми

C# API для відтворення рівнянь і математичних формул LaTeX

Для відтворення математичних формул LaTeX ми будемо використовувати Aspose.TeX for .NET API. Це дозволяє набирати файли TeX у різні формати файлів, наприклад PDF, XPS або зображення.

Завантажте DLL API або встановіть його за допомогою NuGet.

PM> Install-Package Aspose.TeX

Відтворення вбудованих математичних формул LaTeX за допомогою C#

Ми можемо відобразити прості вбудовані математичні формули або рівняння, виконавши наведені нижче дії.

  1. По-перше, створіть екземпляр класу MathRendererOptions.
  2. Далі вкажіть преамбулу документа LaTeX.
  3. За бажанням установіть різні властивості, такі як Scale, TextColor, BackgroundColor тощо.
  4. Після цього створіть вихідний потік для зображення формули.
  5. Нарешті, викличте метод Render(), щоб відобразити формулу. Він приймає рядок формули, потік, MathRendererOptions і розмір вихідного зображення як аргументи.

У наведеному нижче прикладі коду показано, як програмно відобразити математичну формулу за допомогою C#.

// Цей приклад коду демонструє, як відтворювати математичні формули та рівняння
// Створіть параметри візуалізації, вказавши роздільну здатність зображення 150 dpi
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

// Укажіть преамбулу.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// Вкажіть коефіцієнт масштабування 300%.
options.Scale = 3000;

// Вкажіть колір переднього плану.
options.TextColor = System.Drawing.Color.Black;

// Вкажіть колір фону.
options.BackgroundColor = System.Drawing.Color.White;

// Укажіть вихідний потік для файлу журналу.
options.LogStream = new MemoryStream();

// Укажіть, чи показувати вихід терміналу на консолі чи ні.
options.ShowTerminal = true;

// Змінна, в яку будуть записані розміри отриманого зображення.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Створіть вихідний потік для зображення формули.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // Запустіть рендеринг.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// Показати інші результати.
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
Відтворення вбудованих математичних формул за допомогою C#

Відтворення вбудованих математичних формул за допомогою C#

Відтворення складних латексних рівнянь у C#

Ми можемо відобразити будь-які складні латексні рівняння або формули, дотримуючись кроків, згаданих раніше. Однак нам просто потрібно надати рядок формули на кроці № 4, як показано нижче:

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);
Відтворення складних рівнянь у C#

Відтворення складних рівнянь у C#

Відображення довгих рівнянь у C#

Ми можемо відобразити довгі рівняння в кількох рядках, виконавши кроки, згадані раніше. Однак нам просто потрібно надати рядок формули на кроці № 4, як показано нижче:

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

Відображення довгих рівнянь у C#

Вирівняйте кілька рівнянь за допомогою C#

Ми також можемо вирівняти та відобразити кілька рівнянь або формул одночасно, виконавши кроки, згадані раніше. Однак нам просто потрібно надати рядок формули на кроці № 4, як показано нижче:

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);
Вирівняйте кілька рівнянь за допомогою C#

Вирівняйте кілька рівнянь за допомогою C#

Групування та центрування рівнянь за допомогою C#

Ми можемо групувати та центрувати кілька рівнянь під час візуалізації, дотримуючись кроків, згаданих раніше. Однак нам просто потрібно надати рядок формули на кроці № 4, як показано нижче:

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);
Рівняння груп і центрів з використанням CSharp

Групування та центрування рівнянь за допомогою C#

Відтворення матриць, круглих дужок і дужок у C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

Ми також можемо візуалізувати матриці, круглі дужки та квадратні дужки, виконавши кроки, згадані раніше. Однак нам просто потрібно надати рядок формули на кроці № 4, як показано нижче:

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);
Візуалізація матриць, круглих дужок і дужок у C#

Візуалізація матриць, круглих дужок і дужок у C#

Візуалізація дробів і біномів за допомогою C#

Ми також можемо відобразити дроби та біноми, виконавши кроки, згадані раніше. Однак нам просто потрібно надати рядок формули на кроці № 4, як показано нижче:

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
Візуалізація дробів і біномів за допомогою C#

Візуалізація дробів і біномів за допомогою C#

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.

Висновок

У цій статті ми дізналися, як:

  • відтворення простих і складних математичних формул і рівнянь у C#
  • вирівнювати та групувати рівняння програмно
  • візуалізація матриць, круглих дужок, дужок, дробів і біномів

Окрім відтворення рівнянь LaTeX і математичних формул у C#, ви можете дізнатися більше про API Aspose.TeX for .NET за допомогою документації. У разі будь-якої неясності зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також