Отображение уравнений и математических формул с помощью C#

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

Содержание

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

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

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

Отображение встроенных математических формул с помощью C#

Отображение встроенных математических формул с помощью C#

Отображение сложных уравнений LaTeX в C#

Вы можете отображать сложные уравнения LaTeX, следуя тем же шагам, что и ранее, но с более сложной строкой формулы на шаге #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#

Чтобы отобразить длинные уравнения на нескольких строках, используйте следующий подход:

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);
Отображение длинных уравнений

Отображение длинных уравнений в 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#

Чтобы сгруппировать и центрировать несколько уравнений, используйте следующий код:

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);
Группировка и центрирование уравнений с помощью C#

Группировка и центрирование уравнений с помощью C#

Отображение матриц, скобок и квадратных скобок в C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

Отображение матриц, скобок и квадратных скобок можно выполнить аналогичным образом:

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#

Чтобы отобразить дроби и биномиалы, следуйте этой структуре:

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 для .NET, обратившись к документации. Если у вас есть вопросы, не стесняйтесь обращаться на наш бесплатный форум поддержки.

См. также