Hiển thị phương trình và công thức toán học bằng C#

LaTeX là một phần mềm mạnh mẽ cho phép toán sắp chữ. Nó cho phép nhúng các công thức và phương trình toán học vào tệp TEX, đây là một tài liệu nguồn do LaTeX chuẩn bị. Nó cung cấp nhiều lệnh để chỉ định định dạng của tài liệu, bao gồm văn bản, ký hiệu, biểu thức toán học và đồ họa. Chúng ta có thể viết các phương trình cơ bản và công thức toán học theo chương trình mà không cần sử dụng LaTeX. Trong bài này, chúng ta sẽ học cách hiển thị phương trình LaTeX và công thức toán học bằng C#.

Các chủ đề sau sẽ được đề cập trong bài viết này:

  1. [C# API để hiển thị phương trình LaTeX và công thức toán học](# CSharp-API-to-render-Equations-and-Math-Formulas)
  2. [Hiển thị Công thức Toán học Nội tuyến LaTeX](# Kết xuất-Nội tuyến-Công thức Toán học-Sử dụng-CSharp)
  3. [Kết xuất Phương trình Phức tạp](# Hiển thị-Phương trình-Phức tạp-trong-CSharp)
  4. [Hiển thị phương trình dài](# Hiển thị-phương trình dài-trong-CSharp)
  5. [Căn chỉnh một số phương trình](# Căn chỉnh một số phương trình-sử dụng-CSharp)
  6. [Phương trình nhóm và trung tâm](# Phương trình nhóm và trung tâm-using-CSharp)
  7. [Kết xuất Ma trận, Dấu ngoặc đơn và Dấu ngoặc vuông](# Kết xuất Ma trận,-Dấu ngoặc đơn, -và-Dấu ngoặc nhọn-trong-CSharp)
  8. [Hiển thị Phân số và Nhị thức](# Hiển thị-Phân số-và-Nhị thức-using-CSharp)

API C# để hiển thị phương trình LaTeX và công thức toán học

Để hiển thị các công thức toán học LaTeX, chúng tôi sẽ sử dụng API Aspose.TeX for .NET. Nó cho phép sắp chữ các tệp TeX sang các định dạng tệp khác nhau như PDF, XPS hoặc hình ảnh.

Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.TeX

Hiển thị Công thức Toán học Nội tuyến LaTeX bằng C#

Chúng tôi có thể hiển thị các công thức hoặc phương trình toán học nội tuyến đơn giản bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp MathRendererOptions
  2. Tiếp theo, chỉ định phần mở đầu tài liệu LaTeX.
  3. Theo tùy chọn, đặt các thuộc tính khác nhau như Scale, TextColor, BackgroundColor, v.v.
  4. Sau đó, tạo luồng đầu ra cho hình ảnh công thức.
  5. Cuối cùng, gọi phương thức Render() để hiển thị công thức. Nó lấy chuỗi công thức, luồng, MathRendererOptions và kích thước hình ảnh đầu ra làm đối số.

Mẫu mã sau đây trình bày cách hiển thị công thức toán học theo cách lập trình bằng C#.

// Ví dụ mã này trình bày cách hiển thị các công thức và phương trình toán học
// Tạo các tùy chọn kết xuất chỉ định độ phân giải hình ảnh 150 dpi
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

// Chỉ định phần mở đầu.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// Chỉ định hệ số tỷ lệ 300%.
options.Scale = 3000;

// Chỉ định màu nền trước.
options.TextColor = System.Drawing.Color.Black;

// Chỉ định màu nền.
options.BackgroundColor = System.Drawing.Color.White;

// Chỉ định luồng đầu ra cho tệp nhật ký.
options.LogStream = new MemoryStream();

// Chỉ định có hiển thị đầu ra đầu cuối trên bảng điều khiển hay không.
options.ShowTerminal = true;

// Biến trong đó kích thước của hình ảnh kết quả sẽ được ghi.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Tạo luồng đầu ra cho hình ảnh công thức.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // Chạy kết xuất.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// Hiển thị các kết quả khác.
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
Hiển thị Công thức Toán học Nội tuyến bằng C#

Hiển thị Công thức Toán học Nội tuyến bằng C#

Hiển thị các phương trình phức tạp trong C#

Chúng tôi có thể hiển thị bất kỳ phương trình hoặc công thức phức tạp nào bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần cung cấp chuỗi công thức ở bước # 4 như hình dưới đây:

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);
Hiển thị phương trình phức tạp trong C#

Hiển thị các phương trình phức tạp trong C#

Hiển thị các phương trình dài trong C#

Chúng ta có thể hiển thị các phương trình dài trên nhiều dòng bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần cung cấp chuỗi công thức ở bước # 4 như hình dưới đây:

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);
Hiển thị-dài-phương trình

Hiển thị các phương trình dài trong C#

Căn chỉnh một số phương trình bằng C#

Chúng tôi cũng có thể căn chỉnh và hiển thị một số phương trình hoặc công thức cùng một lúc bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần cung cấp chuỗi công thức ở bước # 4 như hình dưới đây:

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ăn chỉnh một số phương trình bằng C#

Căn chỉnh một số phương trình bằng C#

Phương trình nhóm và trung tâm sử dụng C#

Chúng ta có thể nhóm và căn giữa nhiều phương trình trong khi hiển thị bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần cung cấp chuỗi công thức ở bước # 4 như hình dưới đây:

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);
Group-and-Center-Equations-using-CSharp

Phương trình nhóm và trung tâm sử dụng C#

Hiển thị Ma trận, Dấu ngoặc đơn và Dấu ngoặc trong C# {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

Chúng ta cũng có thể hiển thị ma trận, dấu ngoặc và dấu ngoặc bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần cung cấp chuỗi công thức ở bước # 4 như hình dưới đây:

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);
Hiển thị Ma trận, Dấu ngoặc đơn và Dấu ngoặc trong C#

Hiển thị Ma trận, Dấu ngoặc đơn và Dấu ngoặc trong C#

Hiển thị phân số và nhị thức bằng C#

Chúng ta cũng có thể hiển thị phân số và nhị thức bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần cung cấp chuỗi công thức ở bước # 4 như hình dưới đây:

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
Hiển thị phân số và nhị thức bằng C#

Hiển thị phân số và nhị thức bằng C#

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng tôi đã học cách:

  • hiển thị các công thức và phương trình toán học đơn giản và phức tạp trong C#
  • sắp xếp và nhóm các phương trình theo lập trình
  • hiển thị Ma trận, Dấu ngoặc đơn, Dấu ngoặc vuông, Phân số và Nhị thức

Bên cạnh việc hiển thị các phương trình LaTeX và công thức Toán học trong C#, bạn có thể tìm hiểu thêm về Aspose.TeX for .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm