Рендеринг уравнений и математических формул с использованием C#

LaTeX — это мощное программное обеспечение для набора математических данных. Это позволяет встраивать формулы и математические уравнения в файл TEX, который является исходным документом, подготовленным LaTeX. Он предоставляет множество команд для указания формата документа, включая текст, символы, математические выражения и графику. Мы можем программно писать основные уравнения и математические формулы, не используя LaTeX. В этой статье мы узнаем, как отображать уравнения LaTeX и математические формулы с помощью C#.

В этой статье должны быть раскрыты следующие темы:

C# API для рендеринга уравнений LaTeX и математических формул

Для рендеринга математических формул LaTeX мы будем использовать API Aspose.TeX для .NET. Он позволяет набирать файлы 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#
  • программно выравнивать и группировать уравнения
  • отображать матрицы, круглые скобки, скобки, дроби и двучлены

Кроме того, вы можете узнать больше об Aspose.TeX for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также